UNPKG

@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
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; };