@extclp/vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
25 lines (24 loc) • 988 B
TypeScript
import { InjectionKey, Ref } from 'vue';
import { ComponentSize, ComponentState } from '@vexip-ui/config';
export interface ControlState {
checked: boolean;
partial: boolean;
}
export interface GroupState {
currentValues: (string | number)[];
size: ComponentSize;
state: ComponentState;
disabled: boolean;
loading: boolean;
loadingLock: boolean;
colorMap: Record<string, string> | null;
stateColor: boolean;
increaseItem(value: string | number, checked: boolean, input: Ref<HTMLElement | null | undefined>): void;
decreaseItem(value: string | number, input: Ref<HTMLElement | null | undefined>): void;
increaseControl(state: ControlState): void;
decreaseControl(state: ControlState): void;
handleControlChange(): void;
setItemChecked(value: string | number, checked: boolean): void;
replaceValue(prevValue: string | number, newValue: string | number): void;
}
export declare const GROUP_STATE: InjectionKey<GroupState>;