flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
158 lines (157 loc) • 5.61 kB
TypeScript
import type { DeepPartial } from "../../types";
import type { FlowbiteAccordionTheme } from "../Accordion";
import type { FlowbiteAlertTheme } from "../Alert";
import type { FlowbiteAvatarTheme } from "../Avatar";
import type { FlowbiteBadgeTheme } from "../Badge";
import type { FlowbiteBlockquoteTheme } from "../Blockquote";
import type { FlowbiteBreadcrumbTheme } from "../Breadcrumb";
import type { FlowbiteButtonGroupTheme, FlowbiteButtonTheme } from "../Button";
import type { FlowbiteCardTheme } from "../Card";
import type { FlowbiteCarouselTheme } from "../Carousel";
import type { FlowbiteCheckboxTheme } from "../Checkbox";
import type { FlowbiteDarkThemeToggleTheme } from "../DarkThemeToggle";
import type { FlowbiteDatepickerTheme } from "../Datepicker";
import type { FlowbiteDropdownTheme } from "../Dropdown";
import type { FlowbiteFileInputTheme } from "../FileInput";
import type { FlowbiteFloatingLabelTheme } from "../FloatingLabel";
import type { FlowbiteFooterTheme } from "../Footer";
import type { FlowbiteHelperTextTheme } from "../HelperText";
import type { FlowbiteKbdTheme } from "../Kbd";
import type { FlowbiteLabelTheme } from "../Label";
import type { FlowbiteListTheme } from "../List";
import type { FlowbiteListGroupTheme } from "../ListGroup";
import type { FlowbiteModalTheme } from "../Modal";
import type { FlowbiteNavbarTheme } from "../Navbar";
import type { FlowbitePaginationTheme } from "../Pagination";
import type { FlowbitePopoverTheme } from "../Popover";
import type { FlowbiteProgressTheme } from "../Progress";
import type { FlowbiteRadioTheme } from "../Radio";
import type { FlowbiteRangeSliderTheme } from "../RangeSlider";
import type { FlowbiteRatingAdvancedTheme, FlowbiteRatingTheme } from "../Rating";
import type { FlowbiteSelectTheme } from "../Select";
import type { FlowbiteSidebarTheme } from "../Sidebar";
import type { FlowbiteSpinnerTheme } from "../Spinner";
import type { FlowbiteTableTheme } from "../Table";
import type { FlowbiteTabsTheme } from "../Tabs";
import type { FlowbiteTextareaTheme } from "../Textarea";
import type { FlowbiteTextInputTheme } from "../TextInput";
import type { FlowbiteTimelineTheme } from "../Timeline";
import type { FlowbiteToastTheme } from "../Toast";
import type { FlowbiteToggleSwitchTheme } from "../ToggleSwitch";
import type { FlowbiteTooltipTheme } from "../Tooltip";
export type CustomFlowbiteTheme = DeepPartial<FlowbiteTheme>;
export interface FlowbiteTheme {
accordion: FlowbiteAccordionTheme;
alert: FlowbiteAlertTheme;
avatar: FlowbiteAvatarTheme;
badge: FlowbiteBadgeTheme;
blockquote: FlowbiteBlockquoteTheme;
breadcrumb: FlowbiteBreadcrumbTheme;
button: FlowbiteButtonTheme;
buttonGroup: FlowbiteButtonGroupTheme;
card: FlowbiteCardTheme;
carousel: FlowbiteCarouselTheme;
checkbox: FlowbiteCheckboxTheme;
darkThemeToggle: FlowbiteDarkThemeToggleTheme;
datepicker: FlowbiteDatepickerTheme;
dropdown: FlowbiteDropdownTheme;
fileInput: FlowbiteFileInputTheme;
floatingLabel: FlowbiteFloatingLabelTheme;
footer: FlowbiteFooterTheme;
helperText: FlowbiteHelperTextTheme;
kbd: FlowbiteKbdTheme;
label: FlowbiteLabelTheme;
list: FlowbiteListTheme;
listGroup: FlowbiteListGroupTheme;
modal: FlowbiteModalTheme;
navbar: FlowbiteNavbarTheme;
pagination: FlowbitePaginationTheme;
popover: FlowbitePopoverTheme;
progress: FlowbiteProgressTheme;
radio: FlowbiteRadioTheme;
rangeSlider: FlowbiteRangeSliderTheme;
rating: FlowbiteRatingTheme;
ratingAdvanced: FlowbiteRatingAdvancedTheme;
select: FlowbiteSelectTheme;
sidebar: FlowbiteSidebarTheme;
spinner: FlowbiteSpinnerTheme;
table: FlowbiteTableTheme;
tabs: FlowbiteTabsTheme;
textarea: FlowbiteTextareaTheme;
textInput: FlowbiteTextInputTheme;
timeline: FlowbiteTimelineTheme;
toast: FlowbiteToastTheme;
toggleSwitch: FlowbiteToggleSwitchTheme;
tooltip: FlowbiteTooltipTheme;
}
export interface FlowbiteBoolean {
off: string;
on: string;
}
export interface FlowbiteStateColors {
info: string;
failure: string;
success: string;
warning: string;
}
export interface FlowbiteColors extends FlowbiteStateColors {
[key: string]: string;
blue: string;
cyan: string;
dark: string;
gray: string;
green: string;
indigo: string;
light: string;
lime: string;
pink: string;
purple: string;
red: string;
teal: string;
yellow: string;
}
export interface FlowbiteGradientColors extends Omit<FlowbiteStateColors, "warning"> {
[key: string]: string;
cyan: string;
lime: string;
pink: string;
purple: string;
teal: string;
}
export interface FlowbiteGradientDuoToneColors {
cyanToBlue: string;
greenToBlue: string;
pinkToOrange: string;
purpleToBlue: string;
purpleToPink: string;
redToYellow: string;
tealToLime: string;
}
export type FlowbiteHeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
export interface FlowbitePositions {
"bottom-left": string;
"bottom-right": string;
"bottom-center": string;
"top-left": string;
"top-center": string;
"top-right": string;
"center-left": string;
center: string;
"center-right": string;
}
export interface FlowbiteSizes {
xs: string;
sm: string;
md: string;
lg: string;
xl: string;
"2xl": string;
"3xl": string;
"4xl": string;
"5xl": string;
"6xl": string;
"7xl": string;
}
export interface FlowbiteContentPositions {
center: string;
}