@vuetify/nightly 3.8.5-master.2025-05-14 → 3.8.5-master.2025-05-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.
- package/CHANGELOG.md +17 -3
- package/dist/json/attributes.json +3800 -3800
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +160 -160
- package/dist/json/web-types.json +6633 -6633
- package/dist/vuetify-labs.cjs +20 -36
- package/dist/vuetify-labs.css +3082 -3082
- package/dist/vuetify-labs.d.ts +604 -601
- package/dist/vuetify-labs.esm.js +20 -36
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +20 -36
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +20 -36
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3887 -3887
- package/dist/vuetify.d.ts +516 -513
- package/dist/vuetify.esm.js +20 -36
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +20 -36
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +581 -578
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +84 -84
- package/lib/components/VCheckbox/VCheckbox.d.ts +12 -12
- package/lib/components/VCombobox/VCombobox.d.ts +84 -84
- package/lib/components/VFileInput/VFileInput.d.ts +30 -30
- package/lib/components/VInput/VInput.d.ts +12 -12
- package/lib/components/VList/VList.d.ts +3 -3
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +80 -80
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +12 -12
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +12 -12
- package/lib/components/VSelect/VSelect.d.ts +84 -84
- package/lib/components/VSelect/VSelect.js +6 -4
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +12 -12
- package/lib/components/VSwitch/VSwitch.d.ts +12 -12
- package/lib/components/VTextField/VTextField.d.ts +30 -30
- package/lib/components/VTextarea/VTextarea.d.ts +30 -30
- package/lib/components/VValidation/VValidation.d.ts +8 -8
- package/lib/composables/validation.d.ts +6 -5
- package/lib/composables/validation.js +4 -29
- package/lib/composables/validation.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +55 -55
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.d.ts +12 -12
- package/lib/labs/VDateInput/VDateInput.d.ts +84 -84
- package/lib/labs/rules/rules.d.ts +9 -5
- package/lib/labs/rules/rules.js +73 -51
- package/lib/labs/rules/rules.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
@@ -2,12 +2,10 @@
|
|
2
2
|
import { makeFocusProps } from "./focus.js";
|
3
3
|
import { useForm } from "./form.js";
|
4
4
|
import { useProxiedModel } from "./proxiedModel.js";
|
5
|
-
import { useToggleScope } from "./toggleScope.js";
|
6
|
-
// Utilities
|
5
|
+
import { useToggleScope } from "./toggleScope.js";
|
6
|
+
import { useRules } from "../labs/rules/index.js"; // Utilities
|
7
7
|
import { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, shallowRef, unref, useId, watch } from 'vue';
|
8
8
|
import { getCurrentInstance, getCurrentInstanceName, propsFactory, wrapInArray } from "../util/index.js"; // Types
|
9
|
-
// type ValidationRuleParams = [any, string?]
|
10
|
-
// type ValidationAlias = string | [string, ...ValidationRuleParams]
|
11
9
|
export const makeValidationProps = propsFactory({
|
12
10
|
disabled: {
|
13
11
|
type: Boolean,
|
@@ -30,7 +28,6 @@ export const makeValidationProps = propsFactory({
|
|
30
28
|
},
|
31
29
|
rules: {
|
32
30
|
type: Array,
|
33
|
-
// type: Array as PropType<readonly (ValidationRule | ValidationAlias)[]>,
|
34
31
|
default: () => []
|
35
32
|
},
|
36
33
|
modelValue: null,
|
@@ -44,7 +41,7 @@ export function useValidation(props) {
|
|
44
41
|
const model = useProxiedModel(props, 'modelValue');
|
45
42
|
const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
|
46
43
|
const form = useForm(props);
|
47
|
-
|
44
|
+
const rules = useRules(() => props.rules);
|
48
45
|
const internalErrorMessages = ref([]);
|
49
46
|
const isPristine = shallowRef(true);
|
50
47
|
const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
@@ -84,28 +81,6 @@ export function useValidation(props) {
|
|
84
81
|
});
|
85
82
|
const vm = getCurrentInstance('validation');
|
86
83
|
const uid = computed(() => props.name ?? unref(id));
|
87
|
-
|
88
|
-
// const resolvedRules = computed(() => props.rules.map(rule => {
|
89
|
-
// let ruleName: string | null = null
|
90
|
-
// let ruleParams: ValidationRuleParams = [undefined]
|
91
|
-
// if (Array.isArray(rule)) {
|
92
|
-
// ruleName = rule[0]
|
93
|
-
// ruleParams = rule.slice(1) as ValidationRuleParams
|
94
|
-
// } else if (typeof rule === 'string') {
|
95
|
-
// ruleName = rule
|
96
|
-
// }
|
97
|
-
|
98
|
-
// if (ruleName !== null) {
|
99
|
-
// if (ruleName.startsWith('$')) {
|
100
|
-
// ruleName = ruleName.slice(1)
|
101
|
-
// }
|
102
|
-
|
103
|
-
// return rules?.[ruleName]?.(...ruleParams)
|
104
|
-
// } else {
|
105
|
-
// return rule
|
106
|
-
// }
|
107
|
-
// }))
|
108
|
-
|
109
84
|
onBeforeMount(() => {
|
110
85
|
form.register?.({
|
111
86
|
id: uid.value,
|
@@ -161,7 +136,7 @@ export function useValidation(props) {
|
|
161
136
|
let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
162
137
|
const results = [];
|
163
138
|
isValidating.value = true;
|
164
|
-
for (const rule of
|
139
|
+
for (const rule of rules.value) {
|
165
140
|
if (results.length >= Number(props.maxErrors ?? 1)) {
|
166
141
|
break;
|
167
142
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validation.js","names":["makeFocusProps","useForm","useProxiedModel","useToggleScope","computed","nextTick","onBeforeMount","onBeforeUnmount","onMounted","ref","shallowRef","unref","useId","watch","getCurrentInstance","getCurrentInstanceName","propsFactory","wrapInArray","makeValidationProps","disabled","type","Boolean","default","error","errorMessages","Array","String","maxErrors","Number","name","label","readonly","rules","modelValue","validateOn","validationValue","useValidation","props","arguments","length","undefined","id","model","validationModel","value","form","internalErrorMessages","isPristine","isDirty","concat","slice","Math","max","set","Set","split","input","has","blur","invalidInput","lazy","eager","isValid","isValidating","validationClasses","isDisabled","isReadonly","vm","uid","register","validate","reset","resetValidation","unregister","update","focused","unwatch","val","silent","results","rule","handler","result","console","warn","push"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["// Composables\nimport { makeFocusProps } from '@/composables/focus'\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useToggleScope } from '@/composables/toggleScope'\n// import { useRules } from '@/labs/rules'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, shallowRef, unref, useId, watch } from 'vue'\nimport { getCurrentInstance, getCurrentInstanceName, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { EventProp, MaybeRef } from '@/util'\n\nexport type ValidationResult = string | boolean\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\ntype ValidateOnValue = 'blur' | 'input' | 'submit' | 'invalid-input'\ntype ValidateOn =\n | ValidateOnValue\n | `${ValidateOnValue} lazy`\n | `${ValidateOnValue} eager`\n | `lazy ${ValidateOnValue}`\n | `eager ${ValidateOnValue}`\n | 'lazy'\n | 'eager'\n\n// type ValidationRuleParams = [any, string?]\n// type ValidationAlias = string | [string, ...ValidationRuleParams]\n\nexport interface ValidationProps {\n disabled: boolean | null\n error: boolean\n errorMessages: string | readonly string[] | null\n focused: boolean\n maxErrors: string | number\n name: string | undefined\n label: string | undefined\n readonly: boolean | null\n rules: readonly ValidationRule[]\n // rules: readonly (ValidationRule | ValidationAlias)[]\n modelValue: any\n 'onUpdate:modelValue': EventProp | undefined\n validateOn?: ValidateOn\n validationValue: any\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | readonly string[] | null>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n label: String,\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n rules: {\n type: Array as PropType<readonly ValidationRule[]>,\n // type: Array as PropType<readonly (ValidationRule | ValidationAlias)[]>,\n default: () => ([]),\n },\n modelValue: null,\n validateOn: String as PropType<ValidationProps['validateOn']>,\n validationValue: null,\n\n ...makeFocusProps(),\n}, 'validation')\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n id: MaybeRef<string | number> = useId(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue)\n const form = useForm(props)\n // const rules = useRules()\n const internalErrorMessages = ref<string[]>([])\n const isPristine = shallowRef(true)\n const isDirty = computed(() => !!(\n wrapInArray(model.value === '' ? null : model.value).length ||\n wrapInArray(validationModel.value === '' ? null : validationModel.value).length\n ))\n const errorMessages = computed(() => {\n return props.errorMessages?.length\n ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors)))\n : internalErrorMessages.value\n })\n const validateOn = computed(() => {\n let value = (props.validateOn ?? form.validateOn?.value) || 'input'\n if (value === 'lazy') value = 'input lazy'\n if (value === 'eager') value = 'input eager'\n const set = new Set(value?.split(' ') ?? [])\n\n return {\n input: set.has('input'),\n blur: set.has('blur') || set.has('input') || set.has('invalid-input'),\n invalidInput: set.has('invalid-input'),\n lazy: set.has('lazy'),\n eager: set.has('eager'),\n }\n })\n const isValid = computed(() => {\n if (props.error || props.errorMessages?.length) return false\n if (!props.rules.length) return true\n if (isPristine.value) {\n return internalErrorMessages.value.length || validateOn.value.lazy ? null : true\n } else {\n return !internalErrorMessages.value.length\n }\n })\n const isValidating = shallowRef(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: form.isDisabled.value,\n [`${name}--readonly`]: form.isReadonly.value,\n }\n })\n\n const vm = getCurrentInstance('validation')\n const uid = computed(() => props.name ?? unref(id))\n\n // const resolvedRules = computed(() => props.rules.map(rule => {\n // let ruleName: string | null = null\n // let ruleParams: ValidationRuleParams = [undefined]\n // if (Array.isArray(rule)) {\n // ruleName = rule[0]\n // ruleParams = rule.slice(1) as ValidationRuleParams\n // } else if (typeof rule === 'string') {\n // ruleName = rule\n // }\n\n // if (ruleName !== null) {\n // if (ruleName.startsWith('$')) {\n // ruleName = ruleName.slice(1)\n // }\n\n // return rules?.[ruleName]?.(...ruleParams)\n // } else {\n // return rule\n // }\n // }))\n\n onBeforeMount(() => {\n form.register?.({\n id: uid.value,\n vm,\n validate,\n reset,\n resetValidation,\n })\n })\n\n onBeforeUnmount(() => {\n form.unregister?.(uid.value)\n })\n\n onMounted(async () => {\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager)\n }\n form.update?.(uid.value, isValid.value, errorMessages.value)\n })\n\n useToggleScope(() => validateOn.value.input || (validateOn.value.invalidInput && isValid.value === false), () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n validate()\n } else if (props.focused) {\n const unwatch = watch(() => props.focused, val => {\n if (!val) validate()\n\n unwatch()\n })\n }\n })\n })\n\n useToggleScope(() => validateOn.value.blur, () => {\n watch(() => props.focused, val => {\n if (!val) validate()\n })\n })\n\n watch([isValid, errorMessages], () => {\n form.update?.(uid.value, isValid.value, errorMessages.value)\n })\n\n async function reset () {\n model.value = null\n await nextTick()\n await resetValidation()\n }\n\n async function resetValidation () {\n isPristine.value = true\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager)\n } else {\n internalErrorMessages.value = []\n }\n }\n\n async function validate (silent = false) {\n const results = []\n\n isValidating.value = true\n\n for (const rule of props.rules) {\n if (results.length >= Number(props.maxErrors ?? 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(validationModel.value)\n\n if (result === true) continue\n\n if (result !== false && typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result || '')\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = silent\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled: form.isDisabled,\n isReadonly: form.isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"validation.js","names":["makeFocusProps","useForm","useProxiedModel","useToggleScope","useRules","computed","nextTick","onBeforeMount","onBeforeUnmount","onMounted","ref","shallowRef","unref","useId","watch","getCurrentInstance","getCurrentInstanceName","propsFactory","wrapInArray","makeValidationProps","disabled","type","Boolean","default","error","errorMessages","Array","String","maxErrors","Number","name","label","readonly","rules","modelValue","validateOn","validationValue","useValidation","props","arguments","length","undefined","id","model","validationModel","value","form","internalErrorMessages","isPristine","isDirty","concat","slice","Math","max","set","Set","split","input","has","blur","invalidInput","lazy","eager","isValid","isValidating","validationClasses","isDisabled","isReadonly","vm","uid","register","validate","reset","resetValidation","unregister","update","focused","unwatch","val","silent","results","rule","handler","result","console","warn","push"],"sources":["../../src/composables/validation.ts"],"sourcesContent":["// Composables\nimport { makeFocusProps } from '@/composables/focus'\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { useRules } from '@/labs/rules'\n\n// Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, shallowRef, unref, useId, watch } from 'vue'\nimport { getCurrentInstance, getCurrentInstanceName, propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { ValidationAlias } from '@/labs/rules'\nimport type { EventProp, MaybeRef } from '@/util'\n\nexport type ValidationResult = string | boolean\nexport type ValidationRule =\n | ValidationResult\n | PromiseLike<ValidationResult>\n | ((value: any) => ValidationResult)\n | ((value: any) => PromiseLike<ValidationResult>)\n\ntype ValidateOnValue = 'blur' | 'input' | 'submit' | 'invalid-input'\ntype ValidateOn =\n | ValidateOnValue\n | `${ValidateOnValue} lazy`\n | `${ValidateOnValue} eager`\n | `lazy ${ValidateOnValue}`\n | `eager ${ValidateOnValue}`\n | 'lazy'\n | 'eager'\n\nexport interface ValidationProps {\n disabled: boolean | null\n error: boolean\n errorMessages: string | readonly string[] | null\n focused: boolean\n maxErrors: string | number\n name: string | undefined\n label: string | undefined\n readonly: boolean | null\n rules: readonly (ValidationRule | ValidationAlias)[]\n modelValue: any\n 'onUpdate:modelValue': EventProp | undefined\n validateOn?: ValidateOn\n validationValue: any\n}\n\nexport const makeValidationProps = propsFactory({\n disabled: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n error: Boolean,\n errorMessages: {\n type: [Array, String] as PropType<string | readonly string[] | null>,\n default: () => ([]),\n },\n maxErrors: {\n type: [Number, String],\n default: 1,\n },\n name: String,\n label: String,\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n rules: {\n type: Array as PropType<readonly (ValidationRule | ValidationAlias)[]>,\n default: () => ([]),\n },\n modelValue: null,\n validateOn: String as PropType<ValidationProps['validateOn']>,\n validationValue: null,\n\n ...makeFocusProps(),\n}, 'validation')\n\nexport function useValidation (\n props: ValidationProps,\n name = getCurrentInstanceName(),\n id: MaybeRef<string | number> = useId(),\n) {\n const model = useProxiedModel(props, 'modelValue')\n const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue)\n const form = useForm(props)\n const rules = useRules(() => props.rules)\n const internalErrorMessages = ref<string[]>([])\n const isPristine = shallowRef(true)\n const isDirty = computed(() => !!(\n wrapInArray(model.value === '' ? null : model.value).length ||\n wrapInArray(validationModel.value === '' ? null : validationModel.value).length\n ))\n const errorMessages = computed(() => {\n return props.errorMessages?.length\n ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors)))\n : internalErrorMessages.value\n })\n const validateOn = computed(() => {\n let value = (props.validateOn ?? form.validateOn?.value) || 'input'\n if (value === 'lazy') value = 'input lazy'\n if (value === 'eager') value = 'input eager'\n const set = new Set(value?.split(' ') ?? [])\n\n return {\n input: set.has('input'),\n blur: set.has('blur') || set.has('input') || set.has('invalid-input'),\n invalidInput: set.has('invalid-input'),\n lazy: set.has('lazy'),\n eager: set.has('eager'),\n }\n })\n const isValid = computed(() => {\n if (props.error || props.errorMessages?.length) return false\n if (!props.rules.length) return true\n if (isPristine.value) {\n return internalErrorMessages.value.length || validateOn.value.lazy ? null : true\n } else {\n return !internalErrorMessages.value.length\n }\n })\n const isValidating = shallowRef(false)\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: form.isDisabled.value,\n [`${name}--readonly`]: form.isReadonly.value,\n }\n })\n\n const vm = getCurrentInstance('validation')\n const uid = computed(() => props.name ?? unref(id))\n\n onBeforeMount(() => {\n form.register?.({\n id: uid.value,\n vm,\n validate,\n reset,\n resetValidation,\n })\n })\n\n onBeforeUnmount(() => {\n form.unregister?.(uid.value)\n })\n\n onMounted(async () => {\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager)\n }\n form.update?.(uid.value, isValid.value, errorMessages.value)\n })\n\n useToggleScope(() => validateOn.value.input || (validateOn.value.invalidInput && isValid.value === false), () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n validate()\n } else if (props.focused) {\n const unwatch = watch(() => props.focused, val => {\n if (!val) validate()\n\n unwatch()\n })\n }\n })\n })\n\n useToggleScope(() => validateOn.value.blur, () => {\n watch(() => props.focused, val => {\n if (!val) validate()\n })\n })\n\n watch([isValid, errorMessages], () => {\n form.update?.(uid.value, isValid.value, errorMessages.value)\n })\n\n async function reset () {\n model.value = null\n await nextTick()\n await resetValidation()\n }\n\n async function resetValidation () {\n isPristine.value = true\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager)\n } else {\n internalErrorMessages.value = []\n }\n }\n\n async function validate (silent = false) {\n const results = []\n\n isValidating.value = true\n\n for (const rule of rules.value) {\n if (results.length >= Number(props.maxErrors ?? 1)) {\n break\n }\n\n const handler = typeof rule === 'function' ? rule : () => rule\n const result = await handler(validationModel.value)\n\n if (result === true) continue\n\n if (result !== false && typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`)\n\n continue\n }\n\n results.push(result || '')\n }\n\n internalErrorMessages.value = results\n isValidating.value = false\n isPristine.value = silent\n\n return internalErrorMessages.value\n }\n\n return {\n errorMessages,\n isDirty,\n isDisabled: form.isDisabled,\n isReadonly: form.isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.8.5-master.2025-05-
|
19
|
+
export const version = "3.8.5-master.2025-05-16";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2539,22 +2539,20 @@ declare module 'vue' {
|
|
2539
2539
|
$children?: VNodeChild
|
2540
2540
|
}
|
2541
2541
|
export interface GlobalComponents {
|
2542
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2543
|
-
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2544
|
-
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2545
|
-
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2546
2542
|
VApp: typeof import('vuetify/components')['VApp']
|
2547
2543
|
VAlert: typeof import('vuetify/components')['VAlert']
|
2548
2544
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2549
|
-
|
2550
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2545
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2551
2546
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2552
2547
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2553
2548
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2554
2549
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2550
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2551
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2555
2552
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2556
2553
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2557
2554
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2555
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2558
2556
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2559
2557
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2560
2558
|
VCard: typeof import('vuetify/components')['VCard']
|
@@ -2563,18 +2561,16 @@ declare module 'vue' {
|
|
2563
2561
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2564
2562
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2565
2563
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2564
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2565
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2566
2566
|
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2567
2567
|
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2568
|
-
|
2569
|
-
|
2570
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
2571
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2568
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2569
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2572
2570
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2573
2571
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2574
2572
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2575
|
-
|
2576
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2577
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
2573
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2578
2574
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2579
2575
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2580
2576
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2582,89 +2578,79 @@ declare module 'vue' {
|
|
2582
2578
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2583
2579
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2584
2580
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2581
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
2585
2582
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2586
2583
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2587
2584
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2588
2585
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2589
2586
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2590
2587
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2591
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
2592
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2593
|
-
VFab: typeof import('vuetify/components')['VFab']
|
2594
2588
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2595
|
-
|
2596
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2589
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2597
2590
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2598
2591
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2599
2592
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2600
2593
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2601
|
-
|
2594
|
+
VField: typeof import('vuetify/components')['VField']
|
2595
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2602
2596
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2603
|
-
|
2597
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2598
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2604
2599
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2605
2600
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2606
2601
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2607
2602
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2608
2603
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2609
2604
|
VImg: typeof import('vuetify/components')['VImg']
|
2610
|
-
|
2605
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2611
2606
|
VInput: typeof import('vuetify/components')['VInput']
|
2612
|
-
|
2607
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2613
2608
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2614
2609
|
VItem: typeof import('vuetify/components')['VItem']
|
2615
|
-
|
2616
|
-
|
2617
|
-
|
2618
|
-
VListItem: typeof import('vuetify/components')['VListItem']
|
2619
|
-
VListItemAction: typeof import('vuetify/components')['VListItemAction']
|
2620
|
-
VListItemMedia: typeof import('vuetify/components')['VListItemMedia']
|
2621
|
-
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2622
|
-
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2623
|
-
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2610
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2611
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
2612
|
+
VMenu: typeof import('vuetify/components')['VMenu']
|
2624
2613
|
VMain: typeof import('vuetify/components')['VMain']
|
2625
2614
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2626
|
-
VMenu: typeof import('vuetify/components')['VMenu']
|
2627
2615
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2616
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2628
2617
|
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2629
2618
|
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2630
2619
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2631
|
-
|
2620
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2632
2621
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2633
2622
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2634
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2635
2623
|
VRating: typeof import('vuetify/components')['VRating']
|
2636
2624
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2637
|
-
|
2638
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2625
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2639
2626
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2640
2627
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2641
|
-
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2642
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2643
2628
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2644
2629
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2630
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2645
2631
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2646
2632
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2647
2633
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2648
2634
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2649
2635
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2650
2636
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2651
|
-
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2652
2637
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2638
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2639
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2640
|
+
VTable: typeof import('vuetify/components')['VTable']
|
2641
|
+
VTab: typeof import('vuetify/components')['VTab']
|
2642
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
2643
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2644
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2653
2645
|
VTextField: typeof import('vuetify/components')['VTextField']
|
2654
2646
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2655
|
-
|
2656
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2657
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2647
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2658
2648
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2659
2649
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2660
2650
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2661
2651
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2662
2652
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2663
2653
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2664
|
-
VTab: typeof import('vuetify/components')['VTab']
|
2665
|
-
VTabs: typeof import('vuetify/components')['VTabs']
|
2666
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2667
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2668
2654
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2669
2655
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2670
2656
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
@@ -2675,15 +2661,26 @@ declare module 'vue' {
|
|
2675
2661
|
VRow: typeof import('vuetify/components')['VRow']
|
2676
2662
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2677
2663
|
VLazy: typeof import('vuetify/components')['VLazy']
|
2664
|
+
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2665
|
+
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2666
|
+
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2678
2667
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2679
2668
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2680
2669
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2681
2670
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2671
|
+
VList: typeof import('vuetify/components')['VList']
|
2672
|
+
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2673
|
+
VListImg: typeof import('vuetify/components')['VListImg']
|
2674
|
+
VListItem: typeof import('vuetify/components')['VListItem']
|
2675
|
+
VListItemAction: typeof import('vuetify/components')['VListItemAction']
|
2676
|
+
VListItemMedia: typeof import('vuetify/components')['VListItemMedia']
|
2677
|
+
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2678
|
+
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2679
|
+
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2682
2680
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2683
|
-
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2684
2681
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2685
|
-
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2686
2682
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2683
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2687
2684
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2688
2685
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2689
2686
|
VValidation: typeof import('vuetify/components')['VValidation']
|
@@ -2705,27 +2702,30 @@ declare module 'vue' {
|
|
2705
2702
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2706
2703
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2707
2704
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2705
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2706
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2707
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2708
2708
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2709
2709
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2710
2710
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2711
2711
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2712
2712
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2713
2713
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2714
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2715
|
-
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2716
|
-
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2717
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2718
2714
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2719
2715
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2716
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2717
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2720
2718
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2721
2719
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2722
2720
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2723
|
-
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2724
|
-
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2725
|
-
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2726
2721
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2727
2722
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2728
2723
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2724
|
+
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2725
|
+
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2726
|
+
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2727
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2728
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2729
2729
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2730
2730
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2731
2731
|
}
|
package/lib/framework.js
CHANGED
@@ -530,14 +530,14 @@ export declare const makeVColorInputProps: <Defaults extends {
|
|
530
530
|
default: unknown extends Defaults["readonly"] ? boolean | null : NonNullable<boolean | null> | Defaults["readonly"];
|
531
531
|
};
|
532
532
|
rules: unknown extends Defaults["rules"] ? {
|
533
|
-
type: import("vue").PropType<readonly import("../../types.js").ValidationRule[]>;
|
533
|
+
type: import("vue").PropType<readonly (import("../../types.js").ValidationRule | import("../rules/index.js").ValidationAlias)[]>;
|
534
534
|
default: () => never[];
|
535
535
|
} : Omit<{
|
536
|
-
type: import("vue").PropType<readonly import("../../types.js").ValidationRule[]>;
|
536
|
+
type: import("vue").PropType<readonly (import("../../types.js").ValidationRule | import("../rules/index.js").ValidationAlias)[]>;
|
537
537
|
default: () => never[];
|
538
538
|
}, "type" | "default"> & {
|
539
|
-
type: import("vue").PropType<unknown extends Defaults["rules"] ? readonly import("../../
|
540
|
-
default: unknown extends Defaults["rules"] ? readonly import("../../
|
539
|
+
type: import("vue").PropType<unknown extends Defaults["rules"] ? readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[] : readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[] | Defaults["rules"]>;
|
540
|
+
default: unknown extends Defaults["rules"] ? readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[] : readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[] | Defaults["rules"];
|
541
541
|
};
|
542
542
|
validateOn: unknown extends Defaults["validateOn"] ? import("vue").PropType<("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined> : {
|
543
543
|
type: import("vue").PropType<unknown extends Defaults["validateOn"] ? ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | undefined : ("eager" | "lazy" | ("input" | "blur" | "submit" | "invalid-input") | "input lazy" | "blur lazy" | "submit lazy" | "invalid-input lazy" | "input eager" | "blur eager" | "submit eager" | "invalid-input eager" | "lazy input" | "lazy blur" | "lazy submit" | "lazy invalid-input" | "eager input" | "eager blur" | "eager submit" | "eager invalid-input") | Defaults["validateOn"] | undefined>;
|
@@ -727,7 +727,7 @@ export declare const VColorInput: {
|
|
727
727
|
mode: "rgb" | "hex" | "hsl" | "rgba" | "hsla" | "hexa";
|
728
728
|
landscape: boolean;
|
729
729
|
messages: string | readonly string[];
|
730
|
-
rules: readonly import("../../
|
730
|
+
rules: readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[];
|
731
731
|
focused: boolean;
|
732
732
|
errorMessages: string | readonly string[] | null;
|
733
733
|
maxErrors: string | number;
|
@@ -897,7 +897,7 @@ export declare const VColorInput: {
|
|
897
897
|
mode: "rgb" | "hex" | "hsl" | "rgba" | "hsla" | "hexa";
|
898
898
|
landscape: boolean;
|
899
899
|
messages: string | readonly string[];
|
900
|
-
rules: readonly import("../../
|
900
|
+
rules: readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[];
|
901
901
|
focused: boolean;
|
902
902
|
errorMessages: string | readonly string[] | null;
|
903
903
|
maxErrors: string | number;
|
@@ -971,7 +971,7 @@ export declare const VColorInput: {
|
|
971
971
|
mode: "rgb" | "hex" | "hsl" | "rgba" | "hsla" | "hexa";
|
972
972
|
landscape: boolean;
|
973
973
|
messages: string | readonly string[];
|
974
|
-
rules: readonly import("../../
|
974
|
+
rules: readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[];
|
975
975
|
focused: boolean;
|
976
976
|
errorMessages: string | readonly string[] | null;
|
977
977
|
maxErrors: string | number;
|
@@ -1139,7 +1139,7 @@ export declare const VColorInput: {
|
|
1139
1139
|
mode: "rgb" | "hex" | "hsl" | "rgba" | "hsla" | "hexa";
|
1140
1140
|
landscape: boolean;
|
1141
1141
|
messages: string | readonly string[];
|
1142
|
-
rules: readonly import("../../
|
1142
|
+
rules: readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[];
|
1143
1143
|
focused: boolean;
|
1144
1144
|
errorMessages: string | readonly string[] | null;
|
1145
1145
|
maxErrors: string | number;
|
@@ -1192,7 +1192,7 @@ export declare const VColorInput: {
|
|
1192
1192
|
mode: "rgb" | "hex" | "hsl" | "rgba" | "hsla" | "hexa";
|
1193
1193
|
landscape: boolean;
|
1194
1194
|
messages: string | readonly string[];
|
1195
|
-
rules: readonly import("../../
|
1195
|
+
rules: readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[];
|
1196
1196
|
focused: boolean;
|
1197
1197
|
errorMessages: string | readonly string[] | null;
|
1198
1198
|
maxErrors: string | number;
|
@@ -1362,7 +1362,7 @@ export declare const VColorInput: {
|
|
1362
1362
|
mode: "rgb" | "hex" | "hsl" | "rgba" | "hsla" | "hexa";
|
1363
1363
|
landscape: boolean;
|
1364
1364
|
messages: string | readonly string[];
|
1365
|
-
rules: readonly import("../../
|
1365
|
+
rules: readonly (string | boolean | PromiseLike<import("../../composables/validation.js").ValidationResult> | ((value: any) => import("../../composables/validation.js").ValidationResult) | ((value: any) => PromiseLike<import("../../composables/validation.js").ValidationResult>) | [string, any, (string | undefined)?])[];
|
1366
1366
|
focused: boolean;
|
1367
1367
|
errorMessages: string | readonly string[] | null;
|
1368
1368
|
maxErrors: string | number;
|
@@ -1531,7 +1531,7 @@ export declare const VColorInput: {
|
|
1531
1531
|
default: null;
|
1532
1532
|
};
|
1533
1533
|
rules: {
|
1534
|
-
type: import("vue").PropType<readonly import("../../types.js").ValidationRule[]>;
|
1534
|
+
type: import("vue").PropType<readonly (import("../../types.js").ValidationRule | import("../rules/index.js").ValidationAlias)[]>;
|
1535
1535
|
default: () => never[];
|
1536
1536
|
};
|
1537
1537
|
validateOn: import("vue").PropType<import("../../composables/validation.js").ValidationProps["validateOn"]>;
|
@@ -1706,7 +1706,7 @@ export declare const VColorInput: {
|
|
1706
1706
|
default: null;
|
1707
1707
|
};
|
1708
1708
|
rules: {
|
1709
|
-
type: import("vue").PropType<readonly import("../../types.js").ValidationRule[]>;
|
1709
|
+
type: import("vue").PropType<readonly (import("../../types.js").ValidationRule | import("../rules/index.js").ValidationAlias)[]>;
|
1710
1710
|
default: () => never[];
|
1711
1711
|
};
|
1712
1712
|
validateOn: import("vue").PropType<import("../../composables/validation.js").ValidationProps["validateOn"]>;
|