@vue-js-cron/core
Version:
A renderless Vue.js cron editor.
162 lines • 4.55 kB
TypeScript
import { type PropType, type Ref, type SetupContext, type WatchSource } from 'vue';
interface SetOptions<T> {
items: T[];
}
export declare function useSet<T>(options: SetOptions<T>): {
values: Set<T>;
add: (item: T) => void;
toggle: (item: T) => void;
remove: (item: T) => void;
clear: () => void;
updated: Ref<number>;
equals: (items: T[]) => boolean;
};
export interface SelectOptions<T, V> extends SetOptions<T> {
multiple?: boolean;
itemText?: string | ((item: T) => string);
itemValue?: string | ((item: T) => V);
cols?: number;
}
export declare function selectProps<T, V>(): {
modelValue: {
type: PropType<V | V[]>;
};
selection: {
type: StringConstructor;
};
clearable: {
type: BooleanConstructor;
default: boolean;
};
items: {
type: PropType<T[]>;
default: () => never[];
};
multiple: {
type: BooleanConstructor;
default: boolean;
};
cols: {
type: NumberConstructor;
default: number;
};
itemText: {
type: PropType<string | ((item: T) => string)>;
default: string;
};
itemValue: {
type: PropType<string | ((item: T) => V)>;
default: string;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
};
export declare function useSelect<T, V>(options: SelectOptions<T, V>): {
select: (item: T) => void;
selected: Ref<V | V[]>;
selectedStr: Ref<string>;
itemRows: (T | null)[][];
setItems: (items: T[]) => void;
setValues: (values: V[] | V) => void;
isEmpty: import("vue").ComputedRef<boolean>;
has: (item: T | null) => boolean;
values: Set<T>;
add: (item: T) => void;
toggle: (item: T) => void;
remove: (item: T) => void;
clear: () => void;
updated: Ref<number>;
equals: (items: T[]) => boolean;
};
/**
* @interface
*/
export type UseSelectReturn<T, V> = ReturnType<typeof useSelect<T, V>>;
export declare function setupSelect<T, V>(options: SelectOptions<T, V>, modelValue: WatchSource<V>, { emit }: SetupContext<['update:model-value']>): UseSelectReturn<T, V>;
export declare const RenderlessSelect: import("vue").DefineComponent<{
modelValue: {
type: (ArrayConstructor | StringConstructor | NumberConstructor)[];
};
selection: {
type: StringConstructor;
};
clearable: {
type: BooleanConstructor;
default: boolean;
};
items: {
type: PropType<any[]>;
default: () => never[];
};
multiple: {
type: BooleanConstructor;
default: boolean;
};
cols: {
type: NumberConstructor;
default: number;
};
itemText: {
type: PropType<string | ((item: any) => string)>;
default: string;
};
itemValue: {
type: PropType<string | ((item: any) => any)>;
default: string;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
modelValue: {
type: (ArrayConstructor | StringConstructor | NumberConstructor)[];
};
selection: {
type: StringConstructor;
};
clearable: {
type: BooleanConstructor;
default: boolean;
};
items: {
type: PropType<any[]>;
default: () => never[];
};
multiple: {
type: BooleanConstructor;
default: boolean;
};
cols: {
type: NumberConstructor;
default: number;
};
itemText: {
type: PropType<string | ((item: any) => string)>;
default: string;
};
itemValue: {
type: PropType<string | ((item: any) => any)>;
default: string;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
}>> & {
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
items: any[];
cols: number;
disabled: boolean;
multiple: boolean;
itemText: string | ((item: any) => string);
itemValue: string | ((item: any) => any);
clearable: boolean;
}, {}>;
export {};
//# sourceMappingURL=select.d.ts.map