routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
import type { PropType } from 'vue';
|
||||
import type { VTimePickerViewMode } from './shared.js';
|
||||
export type AllowFunction = (val: number) => boolean;
|
||||
export declare const makeTimeValidationProps: <Defaults extends {
|
||||
allowedHours?: unknown;
|
||||
allowedMinutes?: unknown;
|
||||
allowedSeconds?: unknown;
|
||||
max?: unknown;
|
||||
min?: unknown;
|
||||
} = {}>(defaults?: Defaults | undefined) => {
|
||||
allowedHours: unknown extends Defaults["allowedHours"] ? PropType<AllowFunction | number[]> : {
|
||||
type: PropType<unknown extends Defaults["allowedHours"] ? AllowFunction | number[] : AllowFunction | number[] | Defaults["allowedHours"]>;
|
||||
default: unknown extends Defaults["allowedHours"] ? AllowFunction | number[] : Defaults["allowedHours"] | NonNullable<AllowFunction | number[]>;
|
||||
};
|
||||
allowedMinutes: unknown extends Defaults["allowedMinutes"] ? PropType<AllowFunction | number[]> : {
|
||||
type: PropType<unknown extends Defaults["allowedMinutes"] ? AllowFunction | number[] : AllowFunction | number[] | Defaults["allowedMinutes"]>;
|
||||
default: unknown extends Defaults["allowedMinutes"] ? AllowFunction | number[] : Defaults["allowedMinutes"] | NonNullable<AllowFunction | number[]>;
|
||||
};
|
||||
allowedSeconds: unknown extends Defaults["allowedSeconds"] ? PropType<AllowFunction | number[]> : {
|
||||
type: PropType<unknown extends Defaults["allowedSeconds"] ? AllowFunction | number[] : AllowFunction | number[] | Defaults["allowedSeconds"]>;
|
||||
default: unknown extends Defaults["allowedSeconds"] ? AllowFunction | number[] : Defaults["allowedSeconds"] | NonNullable<AllowFunction | number[]>;
|
||||
};
|
||||
max: unknown extends Defaults["max"] ? StringConstructor : {
|
||||
type: PropType<unknown extends Defaults["max"] ? string : string | Defaults["max"]>;
|
||||
default: unknown extends Defaults["max"] ? string : string | Defaults["max"];
|
||||
};
|
||||
min: unknown extends Defaults["min"] ? StringConstructor : {
|
||||
type: PropType<unknown extends Defaults["min"] ? string : string | Defaults["min"]>;
|
||||
default: unknown extends Defaults["min"] ? string : string | Defaults["min"];
|
||||
};
|
||||
};
|
||||
export interface TimeValidationProps {
|
||||
allowedHours?: AllowFunction | number[];
|
||||
allowedMinutes?: AllowFunction | number[];
|
||||
allowedSeconds?: AllowFunction | number[];
|
||||
min?: string;
|
||||
max?: string;
|
||||
}
|
||||
export declare function useTimeValidation(props: TimeValidationProps): {
|
||||
isAllowedHour: import("vue").ComputedRef<(val: number) => boolean>;
|
||||
isAllowedMinute: import("vue").ComputedRef<(hour24hr: number | null, val: number) => boolean>;
|
||||
isAllowedSecond: import("vue").ComputedRef<(hour24hr: number | null, minute: number | null, val: number) => boolean>;
|
||||
findNextAllowed: (type: VTimePickerViewMode, value: number, increment: boolean, currentHour?: number | null, currentMinute?: number | null) => number;
|
||||
};
|
||||
Reference in New Issue
Block a user