flowbite-qwik
Version:
Official Qwik components built for Flowbite and Tailwind CSS
28 lines (27 loc) • 1.1 kB
TypeScript
import type { ButtonGradient, ButtonMonochromeGradient, ButtonSize, ButtonVariant } from '../button-types';
import { ClassList, Component, HTMLAttributeAnchorTarget, Signal } from '@builder.io/qwik';
import type { IconProps } from 'flowbite-qwik-icons';
export type ButtonClassMap<T extends string> = {
hover: Record<T, string>;
default: Record<T, string>;
};
export type UseButtonClassesProps = {
class?: Signal<ClassList>;
pill: Signal<boolean>;
disabled: Signal<boolean>;
loading: Signal<boolean>;
outline: Signal<boolean>;
size: Signal<ButtonSize>;
square: Signal<boolean>;
color: Signal<ButtonVariant>;
full: Signal<boolean>;
gradient?: Signal<ButtonGradient | undefined>;
shadow?: Signal<ButtonMonochromeGradient | boolean>;
target?: Signal<HTMLAttributeAnchorTarget | undefined>;
prefix?: Signal<Component<IconProps> | undefined>;
suffix?: Signal<Component<IconProps> | undefined>;
};
export declare function useButtonClasses(props: UseButtonClassesProps): {
bindClasses: Signal<string>;
spanClasses: Signal<string>;
};