@volverjs/ui-vue
Version:
@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.
132 lines (131 loc) • 4.03 kB
TypeScript
import type { ExtractPropTypes, PropType } from 'vue';
import type { ButtonGroupState } from '../../types/group';
import { Side } from '../../constants';
export declare const VvButtonEvents: string[];
export declare const VvButtonProps: {
/**
* Button icon position
*/
iconPosition: {
type: PropType<`${Side}`>;
default: Side;
validator: (value: Side) => boolean;
};
/**
* Loading icon
*/
loadingIcon: {
type: StringConstructor;
default: string;
};
/**
* Enable button toggle
*/
toggle: {
type: BooleanConstructor;
default: boolean;
};
/**
* Button toggle value
*/
value: {
type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
default: undefined;
};
/**
* Value associated with the unchecked state
*/
uncheckedValue: {
type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
default: undefined;
};
/**
* Button toggle model value
*/
modelValue: {
type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
default: undefined;
};
icon: {
type: PropType<string | import("../VvIcon").VvIconProps>;
default: undefined;
};
loading: {
type: BooleanConstructor;
default: boolean;
};
loadingLabel: {
type: StringConstructor;
default: string;
};
unselectable: {
type: BooleanConstructor;
default: boolean;
};
modifiers: {
type: PropType<string | string[]>;
default: undefined;
};
id: (StringConstructor | NumberConstructor)[];
type: {
type: PropType<`${import("../../constants").ButtonType}`>;
default: import("../../constants").ButtonType;
validator: (value: import("../../constants").ButtonType) => boolean;
};
ariaLabel: {
type: StringConstructor;
default: undefined;
};
defaultTag: {
type: StringConstructor;
default: import("../../constants").ActionTag;
};
to: {
type: (ObjectConstructor | StringConstructor)[];
};
href: StringConstructor;
target: StringConstructor;
rel: {
type: StringConstructor;
default: string;
};
current: {
type: BooleanConstructor;
default: boolean;
};
active: {
type: BooleanConstructor;
default: boolean;
};
pressed: {
type: BooleanConstructor;
default: boolean;
};
label: {
type: (StringConstructor | NumberConstructor)[];
default: undefined;
};
disabled: {
type: BooleanConstructor;
default: boolean;
};
};
export type VvButtonPropsTypes = ExtractPropTypes<typeof VvButtonProps>;
/**
* Merges local and group props
*/
export declare function useGroupProps(props: VvButtonPropsTypes, emit: (event: (typeof VvButtonEvents)[number], value: unknown) => void): {
group: ButtonGroupState | undefined;
isInGroup: globalThis.ComputedRef<boolean>;
modelValue: globalThis.Ref<string | number | boolean | (string | number | boolean)[] | undefined, string | number | boolean | (string | number | boolean)[] | undefined>;
toggle: globalThis.Ref<boolean, boolean>;
unselectable: globalThis.Ref<boolean, boolean>;
multiple: globalThis.ComputedRef<boolean>;
modifiers: globalThis.ComputedRef<string[]>;
disabled: globalThis.ComputedRef<boolean>;
id: globalThis.Ref<string | number | undefined, string | number | undefined> | undefined;
pressed: globalThis.Ref<boolean, boolean>;
iconPosition: globalThis.Ref<"top" | "right" | "bottom" | "left", "top" | "right" | "bottom" | "left">;
icon: globalThis.Ref<string | import("../VvIcon").VvIconProps | undefined, string | import("../VvIcon").VvIconProps | undefined> | undefined;
label: globalThis.Ref<string | number | undefined, string | number | undefined> | undefined;
};