flowbite-angular
Version:
<div align="center"> <h1>:construction: flowbite-angular (unreleased) :construction:</h1> <p> <a href="https://flowbite.com"> <img alt="Flowbite - Tailwind CSS components" width="350" src="https://flowbite.s3.amazonaws.com/github/logo-github
80 lines (79 loc) • 2.5 kB
TypeScript
import type { Combination, DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors, FlowbiteGradientColors, FlowbiteGradientDuoToneColors, FlowbiteSizes } from 'flowbite-angular';
/**
* Available colors for `ButtonComponent`
*/
export interface ButtonColors extends Pick<FlowbiteColors, 'dark' | 'primary' | 'light' | 'blue' | 'red' | 'green' | 'yellow' | 'purple'> {
[key: string]: string;
}
/**
* Available monochrome colors for `ButtonComponent`
*/
export interface ButtonMonochromeColors extends Pick<FlowbiteGradientColors, 'blue' | 'green' | 'cyan' | 'teal' | 'lime' | 'red' | 'pink' | 'purple'> {
[key: string]: string;
}
/**
* Available duotone colors for `ButtonComponent`
*/
export type ButtonDuoToneColors = Pick<FlowbiteGradientDuoToneColors, 'purpleToBlue' | 'cyanToBlue' | 'greenToBlue' | 'purpleToPink' | 'pinkToOrange' | 'tealToLime' | 'redToYellow'>;
/**
* Available sizes for `ButtonComponent`
*/
export interface ButtonSizes extends Pick<FlowbiteSizes, 'xs' | 'sm' | 'md' | 'lg' | 'xl'> {
[key: string]: string;
}
/**
* Available fill for `ButtonComponent`
*/
export interface ButtonFill {
solid: string;
outline: string;
}
/**
* Available types for `ButtonComponent`
*/
export interface ButtonTypes {
default: string;
span: string;
}
/**
* Required properties for the class generation of `ButtonComponent`
*/
export interface ButtonProperties {
color: keyof ButtonColors;
gradientMonochrome?: keyof ButtonMonochromeColors;
gradientDuoTone?: keyof ButtonDuoToneColors;
size: keyof ButtonSizes;
isPill: keyof FlowbiteBoolean;
fill: keyof ButtonFill;
isDisabled: keyof FlowbiteBoolean;
customStyle: DeepPartial<ButtonTheme>;
}
/**
* Theme definition for `ButtonComponent`
*/
export interface ButtonTheme {
root: {
base: ButtonTypes;
color: Combination<keyof ButtonColors, keyof ButtonFill, string>;
gradientMonochrome: ButtonMonochromeColors;
gradientDuoTone: Combination<keyof ButtonDuoToneColors, keyof ButtonFill, string>;
size: ButtonSizes;
isPill: FlowbiteBoolean;
isDisabled: FlowbiteBoolean;
};
span: {
base: string;
isPill: FlowbiteBoolean;
size: ButtonSizes;
};
}
/**
* Default theme for `ButtonComponent`
*/
export declare const buttonTheme: ButtonTheme;
/**
* Generated class definition for `ButtonComponent`
*/
export interface ButtonClass extends FlowbiteClass {
spanClass: string;
}