maz-ui
Version:
A standalone components library for Vue.Js 3 & Nuxt.Js 3
80 lines (79 loc) • 2.45 kB
TypeScript
import { RouteLocationRaw } from 'vue-router';
import { MazBtnProps } from './MazBtn.vue';
import { MazColor, MazSize } from './types';
export interface MazButtonGroupOption extends Omit<MazBtnProps, 'block' | 'fab'> {
/** Click handler for the button */
onClick?: () => void;
/** The href for anchor links */
href?: string;
/** The route for router-link or nuxt-link */
to?: RouteLocationRaw;
}
export interface MazButtonGroupProps {
/**
* The items for the button group (optional when using slot-based approach)
* @default undefined
*/
items?: MazButtonGroupOption[];
/**
* The orientation of the button group
* @values 'row' | 'col'
* @default 'row'
*/
orientation?: 'row' | 'col';
/**
* The size of all buttons (only applies to props-based buttons)
* @default 'md'
*/
size?: MazSize;
/**
* The color of all buttons (only applies to props-based buttons)
* @default 'primary'
*/
color?: MazColor;
/**
* The rounded size of the buttons
* @default 'lg'
*/
roundedSize?: MazBtnProps['roundedSize'];
/**
* The outlined state of the buttons
* @default false
*/
outlined?: boolean;
/**
* The pastel state of the buttons
* @default false
*/
pastel?: boolean;
/**
* The loading state of the buttons
* @default false
*/
loading?: boolean;
/**
* The disabled state of the buttons
* @default false
*/
disabled?: boolean;
}
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: Partial<Record<`button-${number}`, (_: {
item: MazButtonGroupOption;
index: number;
}) => any>> & {
default?(_: {}): any;
};
refs: {};
rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<MazButtonGroupProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<MazButtonGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};