diff --git a/packages/ui/src/components/Accordion/Accordion.spec.tsx b/packages/ui/src/components/Accordion/Accordion.spec.tsx index c574b2f93..f34d11052 100644 --- a/packages/ui/src/components/Accordion/Accordion.spec.tsx +++ b/packages/ui/src/components/Accordion/Accordion.spec.tsx @@ -3,7 +3,7 @@ import userEvent from "@testing-library/user-event"; import { HiOutlineArrowCircleDown } from "react-icons/hi"; import { beforeEach, describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import type { AccordionProps } from "./Accordion"; import { Accordion } from "./Accordion"; import { AccordionContent } from "./AccordionContent"; diff --git a/packages/ui/src/components/Accordion/Accordion.tsx b/packages/ui/src/components/Accordion/Accordion.tsx index f3111f236..298f4dbf6 100644 --- a/packages/ui/src/components/Accordion/Accordion.tsx +++ b/packages/ui/src/components/Accordion/Accordion.tsx @@ -7,8 +7,7 @@ import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { ChevronDownIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import type { AccordionComponentTheme } from "./AccordionContent"; import type { AccordionPanelProps } from "./AccordionPanel"; import type { AccordionTitleTheme } from "./AccordionTitle"; diff --git a/packages/ui/src/components/Accordion/AccordionTitle.tsx b/packages/ui/src/components/Accordion/AccordionTitle.tsx index 381b0560f..d03282c40 100644 --- a/packages/ui/src/components/Accordion/AccordionTitle.tsx +++ b/packages/ui/src/components/Accordion/AccordionTitle.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteHeadingLevel } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, FlowbiteHeadingLevel, ThemingProps } from "../../types"; import { useAccordionContext } from "./AccordionPanelContext"; import { accordionTheme } from "./theme"; diff --git a/packages/ui/src/components/Alert/Alert.spec.tsx b/packages/ui/src/components/Alert/Alert.spec.tsx index cbffeaebe..b4ef4b3d6 100644 --- a/packages/ui/src/components/Alert/Alert.spec.tsx +++ b/packages/ui/src/components/Alert/Alert.spec.tsx @@ -4,7 +4,7 @@ import { useState } from "react"; import { HiEye, HiHeart, HiInformationCircle } from "react-icons/hi"; import { describe, expect, it, vi } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import type { AlertProps } from "./Alert"; import { Alert } from "./Alert"; diff --git a/packages/ui/src/components/Alert/Alert.tsx b/packages/ui/src/components/Alert/Alert.tsx index 82457227e..3ddfc1e93 100644 --- a/packages/ui/src/components/Alert/Alert.tsx +++ b/packages/ui/src/components/Alert/Alert.tsx @@ -6,8 +6,7 @@ import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { XIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, ThemingProps } from "../../types"; import { alertTheme } from "./theme"; export interface AlertTheme { diff --git a/packages/ui/src/components/Avatar/Avatar.spec.tsx b/packages/ui/src/components/Avatar/Avatar.spec.tsx index 16dcc15b1..fd5b8db16 100644 --- a/packages/ui/src/components/Avatar/Avatar.spec.tsx +++ b/packages/ui/src/components/Avatar/Avatar.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Avatar } from "./Avatar"; describe("Components / Avatar", () => { diff --git a/packages/ui/src/components/Avatar/Avatar.tsx b/packages/ui/src/components/Avatar/Avatar.tsx index b7ee537e0..97fb9a9c9 100644 --- a/packages/ui/src/components/Avatar/Avatar.tsx +++ b/packages/ui/src/components/Avatar/Avatar.tsx @@ -5,8 +5,14 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteColors, FlowbitePositions, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { + DynamicStringEnumKeysOf, + FlowbiteBoolean, + FlowbiteColors, + FlowbitePositions, + FlowbiteSizes, + ThemingProps, +} from "../../types"; import type { AvatarGroupTheme } from "./AvatarGroup"; import type { AvatarGroupCounterTheme } from "./AvatarGroupCounter"; import { avatarTheme } from "./theme"; diff --git a/packages/ui/src/components/Badge/Badge.spec.tsx b/packages/ui/src/components/Badge/Badge.spec.tsx index d2591a6fb..49a575637 100644 --- a/packages/ui/src/components/Badge/Badge.spec.tsx +++ b/packages/ui/src/components/Badge/Badge.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from "@testing-library/react"; import { HiCheck } from "react-icons/hi"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Badge } from "./Badge"; describe("Components / Badge", () => { diff --git a/packages/ui/src/components/Badge/Badge.tsx b/packages/ui/src/components/Badge/Badge.tsx index 300976e8f..2b53d5a5e 100644 --- a/packages/ui/src/components/Badge/Badge.tsx +++ b/packages/ui/src/components/Badge/Badge.tsx @@ -5,8 +5,13 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteColors, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { + DynamicStringEnumKeysOf, + FlowbiteBoolean, + FlowbiteColors, + FlowbiteSizes, + ThemingProps, +} from "../../types"; import { badgeTheme } from "./theme"; export interface BadgeTheme { diff --git a/packages/ui/src/components/Blockquote/Blockquote.spec.tsx b/packages/ui/src/components/Blockquote/Blockquote.spec.tsx index 9f7eae473..2c884967c 100644 --- a/packages/ui/src/components/Blockquote/Blockquote.spec.tsx +++ b/packages/ui/src/components/Blockquote/Blockquote.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Blockquote } from "./Blockquote"; describe("Components / Blockquote", () => { diff --git a/packages/ui/src/components/Breadcrumb/Breadcrumb.spec.tsx b/packages/ui/src/components/Breadcrumb/Breadcrumb.spec.tsx index 583d9f61d..fee544cd7 100644 --- a/packages/ui/src/components/Breadcrumb/Breadcrumb.spec.tsx +++ b/packages/ui/src/components/Breadcrumb/Breadcrumb.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from "@testing-library/react"; import { HiHome } from "react-icons/hi"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Breadcrumb } from "./Breadcrumb"; import { BreadcrumbItem } from "./BreadcrumbItem"; diff --git a/packages/ui/src/components/Breadcrumb/BreadcrumbItem.tsx b/packages/ui/src/components/Breadcrumb/BreadcrumbItem.tsx index 818588afb..022bfe9dc 100644 --- a/packages/ui/src/components/Breadcrumb/BreadcrumbItem.tsx +++ b/packages/ui/src/components/Breadcrumb/BreadcrumbItem.tsx @@ -7,8 +7,7 @@ import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { ChevronRightIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { breadcrumbTheme } from "./theme"; export interface BreadcrumbItemTheme { diff --git a/packages/ui/src/components/Button/Button.spec.tsx b/packages/ui/src/components/Button/Button.spec.tsx index 8d2277e8e..79480a3da 100644 --- a/packages/ui/src/components/Button/Button.spec.tsx +++ b/packages/ui/src/components/Button/Button.spec.tsx @@ -3,7 +3,7 @@ import userEvent from "@testing-library/user-event"; import type { PropsWithChildren } from "react"; import { describe, expect, it, vi } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Button } from "./Button"; describe("Components / Button", () => { diff --git a/packages/ui/src/components/Button/Button.tsx b/packages/ui/src/components/Button/Button.tsx index 60276ab2c..52aa56d21 100644 --- a/packages/ui/src/components/Button/Button.tsx +++ b/packages/ui/src/components/Button/Button.tsx @@ -7,8 +7,13 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors, FlowbiteSizes, FlowbiteStateColors } from "../Flowbite/FlowbiteTheme"; +import type { + DynamicStringEnumKeysOf, + FlowbiteColors, + FlowbiteSizes, + FlowbiteStateColors, + ThemingProps, +} from "../../types"; import { ButtonBase } from "./ButtonBase"; import { useButtonGroupContext } from "./ButtonGroupContext"; import { buttonTheme } from "./theme"; diff --git a/packages/ui/src/components/Button/ButtonGroup.spec.tsx b/packages/ui/src/components/Button/ButtonGroup.spec.tsx index 936221d3b..8e0da5943 100644 --- a/packages/ui/src/components/Button/ButtonGroup.spec.tsx +++ b/packages/ui/src/components/Button/ButtonGroup.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { describe, expect, it, vi } from "vitest"; import { ThemeProvider } from "../../theme"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Button } from "./Button"; import { ButtonGroup } from "./ButtonGroup"; import { buttonTheme } from "./theme"; diff --git a/packages/ui/src/components/Card/Card.spec.tsx b/packages/ui/src/components/Card/Card.spec.tsx index ddca4bf5f..0664e29a0 100644 --- a/packages/ui/src/components/Card/Card.spec.tsx +++ b/packages/ui/src/components/Card/Card.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Card } from "./Card"; describe("Components / Card", () => { diff --git a/packages/ui/src/components/Card/Card.tsx b/packages/ui/src/components/Card/Card.tsx index 35139e7ba..704d9b404 100644 --- a/packages/ui/src/components/Card/Card.tsx +++ b/packages/ui/src/components/Card/Card.tsx @@ -6,8 +6,7 @@ import { omit } from "../../helpers/omit"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DeepPartial, ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { DeepPartial, FlowbiteBoolean, ThemingProps } from "../../types"; import { cardTheme } from "./theme"; export interface CardTheme { diff --git a/packages/ui/src/components/Carousel/Carousel.tsx b/packages/ui/src/components/Carousel/Carousel.tsx index d9597f3ce..c7cb5dc8d 100644 --- a/packages/ui/src/components/Carousel/Carousel.tsx +++ b/packages/ui/src/components/Carousel/Carousel.tsx @@ -9,8 +9,7 @@ import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { ChevronLeftIcon, ChevronRightIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { carouselTheme } from "./theme"; export interface CarouselTheme { diff --git a/packages/ui/src/components/Checkbox/Checkbox.spec.tsx b/packages/ui/src/components/Checkbox/Checkbox.spec.tsx index efc447a71..4c8abac75 100644 --- a/packages/ui/src/components/Checkbox/Checkbox.spec.tsx +++ b/packages/ui/src/components/Checkbox/Checkbox.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Checkbox } from "./Checkbox"; describe("Components / Checkbox", () => { diff --git a/packages/ui/src/components/Checkbox/Checkbox.tsx b/packages/ui/src/components/Checkbox/Checkbox.tsx index 7f392d5b1..3174abb32 100644 --- a/packages/ui/src/components/Checkbox/Checkbox.tsx +++ b/packages/ui/src/components/Checkbox/Checkbox.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, ThemingProps } from "../../types"; import { checkboxTheme } from "./theme"; export interface CheckboxTheme { diff --git a/packages/ui/src/components/Drawer/Drawer.tsx b/packages/ui/src/components/Drawer/Drawer.tsx index 8a4bc6f80..653d08f27 100644 --- a/packages/ui/src/components/Drawer/Drawer.tsx +++ b/packages/ui/src/components/Drawer/Drawer.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { DrawerContext } from "./DrawerContext"; import type { DrawerHeaderTheme } from "./DrawerHeader"; import type { DrawerItemsTheme } from "./DrawerItems"; diff --git a/packages/ui/src/components/Drawer/DrawerHeader.tsx b/packages/ui/src/components/Drawer/DrawerHeader.tsx index bf95dc97a..17a37a92a 100644 --- a/packages/ui/src/components/Drawer/DrawerHeader.tsx +++ b/packages/ui/src/components/Drawer/DrawerHeader.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { CloseIcon as DefaultCloseIcon, HomeIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { useDrawerContext } from "./DrawerContext"; import { drawerTheme } from "./theme"; diff --git a/packages/ui/src/components/Flowbite/FlowbiteTheme.ts b/packages/ui/src/components/Flowbite/FlowbiteTheme.ts deleted file mode 100644 index d98344f7d..000000000 --- a/packages/ui/src/components/Flowbite/FlowbiteTheme.ts +++ /dev/null @@ -1,153 +0,0 @@ -import type { DeepPartial } from "../../types"; -import type { AccordionTheme } from "../Accordion"; -import type { AlertTheme } from "../Alert"; -import type { AvatarTheme } from "../Avatar"; -import type { BadgeTheme } from "../Badge"; -import type { BlockquoteTheme } from "../Blockquote"; -import type { BreadcrumbTheme } from "../Breadcrumb"; -import type { ButtonGroupTheme, ButtonTheme } from "../Button"; -import type { CardTheme } from "../Card"; -import type { CarouselTheme } from "../Carousel"; -import type { CheckboxTheme } from "../Checkbox"; -import type { ClipboardTheme } from "../Clipboard"; -import type { DarkThemeToggleTheme } from "../DarkThemeToggle"; -import type { DatepickerTheme } from "../Datepicker"; -import type { DrawerTheme } from "../Drawer"; -import type { DropdownTheme } from "../Dropdown"; -import type { FileInputTheme } from "../FileInput"; -import type { FloatingLabelTheme } from "../FloatingLabel"; -import type { FooterTheme } from "../Footer"; -import type { HelperTextTheme } from "../HelperText"; -import type { HRTheme } from "../HR/HR"; -import type { KbdTheme } from "../Kbd"; -import type { LabelTheme } from "../Label"; -import type { ListTheme } from "../List"; -import type { ListGroupTheme } from "../ListGroup"; -import type { MegaMenuTheme } from "../MegaMenu"; -import type { ModalTheme } from "../Modal"; -import type { NavbarTheme } from "../Navbar"; -import type { PaginationTheme } from "../Pagination"; -import type { PopoverTheme } from "../Popover"; -import type { ProgressTheme } from "../Progress"; -import type { RadioTheme } from "../Radio"; -import type { RangeSliderTheme } from "../RangeSlider"; -import type { RatingAdvancedTheme, RatingTheme } from "../Rating"; -import type { SelectTheme } from "../Select"; -import type { SidebarTheme } from "../Sidebar"; -import type { SpinnerTheme } from "../Spinner"; -import type { TableTheme } from "../Table"; -import type { TabsTheme } from "../Tabs"; -import type { TextareaTheme } from "../Textarea"; -import type { TextInputTheme } from "../TextInput"; -import type { TimelineTheme } from "../Timeline"; -import type { ToastTheme } from "../Toast"; -import type { ToggleSwitchTheme } from "../ToggleSwitch"; -import type { TooltipTheme } from "../Tooltip"; - -export type CustomFlowbiteTheme = DeepPartial; - -export interface FlowbiteTheme { - accordion: AccordionTheme; - alert: AlertTheme; - avatar: AvatarTheme; - badge: BadgeTheme; - blockquote: BlockquoteTheme; - breadcrumb: BreadcrumbTheme; - button: ButtonTheme; - buttonGroup: ButtonGroupTheme; - card: CardTheme; - carousel: CarouselTheme; - checkbox: CheckboxTheme; - clipboard: ClipboardTheme; - darkThemeToggle: DarkThemeToggleTheme; - datepicker: DatepickerTheme; - drawer: DrawerTheme; - dropdown: DropdownTheme; - fileInput: FileInputTheme; - floatingLabel: FloatingLabelTheme; - footer: FooterTheme; - helperText: HelperTextTheme; - hr: HRTheme; - kbd: KbdTheme; - label: LabelTheme; - list: ListTheme; - listGroup: ListGroupTheme; - megaMenu: MegaMenuTheme; - modal: ModalTheme; - navbar: NavbarTheme; - pagination: PaginationTheme; - popover: PopoverTheme; - progress: ProgressTheme; - radio: RadioTheme; - rangeSlider: RangeSliderTheme; - rating: RatingTheme; - ratingAdvanced: RatingAdvancedTheme; - select: SelectTheme; - sidebar: SidebarTheme; - spinner: SpinnerTheme; - table: TableTheme; - tabs: TabsTheme; - textarea: TextareaTheme; - textInput: TextInputTheme; - timeline: TimelineTheme; - toast: ToastTheme; - toggleSwitch: ToggleSwitchTheme; - tooltip: TooltipTheme; -} - -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 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; -} diff --git a/packages/ui/src/components/Footer/Footer.spec.tsx b/packages/ui/src/components/Footer/Footer.spec.tsx index 1d46bd706..3fb9fb477 100644 --- a/packages/ui/src/components/Footer/Footer.spec.tsx +++ b/packages/ui/src/components/Footer/Footer.spec.tsx @@ -2,7 +2,7 @@ import { cleanup, render, screen } from "@testing-library/react"; import { BsDribbble, BsFacebook, BsGithub, BsInstagram, BsTwitter } from "react-icons/bs"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Footer } from "./Footer"; import { FooterBrand } from "./FooterBrand"; import { FooterCopyright } from "./FooterCopyright"; diff --git a/packages/ui/src/components/HelperText/HelperText.tsx b/packages/ui/src/components/HelperText/HelperText.tsx index 12808c586..1fcf6e29e 100644 --- a/packages/ui/src/components/HelperText/HelperText.tsx +++ b/packages/ui/src/components/HelperText/HelperText.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, ThemingProps } from "../../types"; import { helperTextTheme } from "./theme"; export interface HelperTextTheme { diff --git a/packages/ui/src/components/Kbd/Kbd.spec.tsx b/packages/ui/src/components/Kbd/Kbd.spec.tsx index 1a9ecafe0..f6739b71f 100644 --- a/packages/ui/src/components/Kbd/Kbd.spec.tsx +++ b/packages/ui/src/components/Kbd/Kbd.spec.tsx @@ -2,7 +2,7 @@ import { render, screen } from "@testing-library/react"; import { MdKeyboardArrowLeft, MdKeyboardCommandKey } from "react-icons/md"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Kbd } from "./Kbd"; describe("Components / Kbd", () => { diff --git a/packages/ui/src/components/Label/Label.spec.tsx b/packages/ui/src/components/Label/Label.spec.tsx index 1cdf40755..625963d90 100644 --- a/packages/ui/src/components/Label/Label.spec.tsx +++ b/packages/ui/src/components/Label/Label.spec.tsx @@ -2,10 +2,10 @@ import { render, screen } from "@testing-library/react"; import { HiGlobe, HiLockClosed } from "react-icons/hi"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; +import type { CustomFlowbiteTheme } from "../../types"; import { Button } from "../Button"; import { Checkbox } from "../Checkbox"; import { FileInput } from "../FileInput"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; import { HelperText } from "../HelperText"; import { Radio } from "../Radio"; import { RangeSlider } from "../RangeSlider"; diff --git a/packages/ui/src/components/Label/Label.tsx b/packages/ui/src/components/Label/Label.tsx index 7d75d804c..2999359de 100644 --- a/packages/ui/src/components/Label/Label.tsx +++ b/packages/ui/src/components/Label/Label.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteStateColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteStateColors, ThemingProps } from "../../types"; import { labelTheme } from "./theme"; export interface LabelTheme { diff --git a/packages/ui/src/components/ListGroup/ListGroup.spec.tsx b/packages/ui/src/components/ListGroup/ListGroup.spec.tsx index cd10a5087..31d37fbd0 100644 --- a/packages/ui/src/components/ListGroup/ListGroup.spec.tsx +++ b/packages/ui/src/components/ListGroup/ListGroup.spec.tsx @@ -4,7 +4,7 @@ import { useState } from "react"; import { HiCloudDownload } from "react-icons/hi"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { ListGroup } from "./ListGroup"; import { ListGroupItem } from "./ListGroupItem"; diff --git a/packages/ui/src/components/ListGroup/ListGroupItem.tsx b/packages/ui/src/components/ListGroup/ListGroupItem.tsx index a3bc0b3f3..ed07b97dc 100644 --- a/packages/ui/src/components/ListGroup/ListGroupItem.tsx +++ b/packages/ui/src/components/ListGroup/ListGroupItem.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { listGroupTheme } from "./theme"; export interface ListGroupItemTheme { diff --git a/packages/ui/src/components/Modal/Modal.tsx b/packages/ui/src/components/Modal/Modal.tsx index d2274a7de..3fcbb3ac4 100644 --- a/packages/ui/src/components/Modal/Modal.tsx +++ b/packages/ui/src/components/Modal/Modal.tsx @@ -17,8 +17,13 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbitePositions, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { + DynamicStringEnumKeysOf, + FlowbiteBoolean, + FlowbitePositions, + FlowbiteSizes, + ThemingProps, +} from "../../types"; import type { ModalBodyTheme } from "./ModalBody"; import { ModalContext } from "./ModalContext"; import type { ModalFooterTheme } from "./ModalFooter"; diff --git a/packages/ui/src/components/Navbar/Navbar.tsx b/packages/ui/src/components/Navbar/Navbar.tsx index 604bc188e..b48b034b5 100644 --- a/packages/ui/src/components/Navbar/Navbar.tsx +++ b/packages/ui/src/components/Navbar/Navbar.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import type { NavbarBrandTheme } from "./NavbarBrand"; import type { NavbarCollapseTheme } from "./NavbarCollapse"; import { NavbarContext } from "./NavbarContext"; diff --git a/packages/ui/src/components/Navbar/NavbarCollapse.tsx b/packages/ui/src/components/Navbar/NavbarCollapse.tsx index 576ad67fe..eec03c024 100644 --- a/packages/ui/src/components/Navbar/NavbarCollapse.tsx +++ b/packages/ui/src/components/Navbar/NavbarCollapse.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { useNavbarContext } from "./NavbarContext"; import { navbarTheme } from "./theme"; diff --git a/packages/ui/src/components/Navbar/NavbarLink.tsx b/packages/ui/src/components/Navbar/NavbarLink.tsx index 127e6a17f..87c67d020 100644 --- a/packages/ui/src/components/Navbar/NavbarLink.tsx +++ b/packages/ui/src/components/Navbar/NavbarLink.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { useNavbarContext } from "./NavbarContext"; import { navbarTheme } from "./theme"; diff --git a/packages/ui/src/components/Progress/Progress.tsx b/packages/ui/src/components/Progress/Progress.tsx index ef0485f0d..01427b10d 100644 --- a/packages/ui/src/components/Progress/Progress.tsx +++ b/packages/ui/src/components/Progress/Progress.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, FlowbiteSizes, ThemingProps } from "../../types"; import { progressTheme } from "./theme"; export interface ProgressTheme { diff --git a/packages/ui/src/components/Radio/Radio.spec.tsx b/packages/ui/src/components/Radio/Radio.spec.tsx index aa3765b7b..6e48f646a 100644 --- a/packages/ui/src/components/Radio/Radio.spec.tsx +++ b/packages/ui/src/components/Radio/Radio.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Radio } from "./Radio"; describe("Components / Radio", () => { diff --git a/packages/ui/src/components/Radio/Radio.tsx b/packages/ui/src/components/Radio/Radio.tsx index 1ea6f7a2c..18fb188d4 100644 --- a/packages/ui/src/components/Radio/Radio.tsx +++ b/packages/ui/src/components/Radio/Radio.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, ThemingProps } from "../../types"; import { radioTheme } from "./theme"; export interface RadioTheme { diff --git a/packages/ui/src/components/RangeSlider/RangeSlider.spec.tsx b/packages/ui/src/components/RangeSlider/RangeSlider.spec.tsx index 228e27510..9d5d63be6 100644 --- a/packages/ui/src/components/RangeSlider/RangeSlider.spec.tsx +++ b/packages/ui/src/components/RangeSlider/RangeSlider.spec.tsx @@ -3,7 +3,7 @@ import userEvent from "@testing-library/user-event"; import { createRef } from "react"; import { describe, expect, it, vi } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { RangeSlider } from "./RangeSlider"; describe("Components / Button", () => { diff --git a/packages/ui/src/components/Rating/RatingStar.tsx b/packages/ui/src/components/Rating/RatingStar.tsx index d3744ca02..e98f33bc0 100644 --- a/packages/ui/src/components/Rating/RatingStar.tsx +++ b/packages/ui/src/components/Rating/RatingStar.tsx @@ -6,8 +6,7 @@ import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { StarIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteSizes, ThemingProps } from "../../types"; import { useRatingContext } from "./RatingContext"; import { ratingTheme } from "./theme"; diff --git a/packages/ui/src/components/Select/Select.tsx b/packages/ui/src/components/Select/Select.tsx index a9fc4dd50..feb4e0c32 100644 --- a/packages/ui/src/components/Select/Select.tsx +++ b/packages/ui/src/components/Select/Select.tsx @@ -6,8 +6,13 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteColors, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { + DynamicStringEnumKeysOf, + FlowbiteBoolean, + FlowbiteColors, + FlowbiteSizes, + ThemingProps, +} from "../../types"; import { selectTheme } from "./theme"; export interface SelectTheme { diff --git a/packages/ui/src/components/Sidebar/Sidebar.spec.tsx b/packages/ui/src/components/Sidebar/Sidebar.spec.tsx index ded54f279..8969819f1 100644 --- a/packages/ui/src/components/Sidebar/Sidebar.spec.tsx +++ b/packages/ui/src/components/Sidebar/Sidebar.spec.tsx @@ -3,7 +3,7 @@ import userEvent from "@testing-library/user-event"; import { HiChartPie, HiInbox, HiShoppingBag } from "react-icons/hi"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import type { SidebarProps } from "./Sidebar"; import { Sidebar } from "./Sidebar"; import { SidebarCollapse } from "./SidebarCollapse"; diff --git a/packages/ui/src/components/Sidebar/Sidebar.tsx b/packages/ui/src/components/Sidebar/Sidebar.tsx index e5aed7035..b98570d83 100644 --- a/packages/ui/src/components/Sidebar/Sidebar.tsx +++ b/packages/ui/src/components/Sidebar/Sidebar.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import type { SidebarCollapseTheme } from "./SidebarCollapse"; import { SidebarContext } from "./SidebarContext"; import type { SidebarCTATheme } from "./SidebarCTA"; diff --git a/packages/ui/src/components/Sidebar/SidebarCTA.tsx b/packages/ui/src/components/Sidebar/SidebarCTA.tsx index ee792fe1a..5567a9e62 100644 --- a/packages/ui/src/components/Sidebar/SidebarCTA.tsx +++ b/packages/ui/src/components/Sidebar/SidebarCTA.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, ThemingProps } from "../../types"; import { useSidebarContext } from "./SidebarContext"; import { sidebarTheme } from "./theme"; diff --git a/packages/ui/src/components/Sidebar/SidebarCollapse.tsx b/packages/ui/src/components/Sidebar/SidebarCollapse.tsx index daf1c50e1..5ed016d21 100644 --- a/packages/ui/src/components/Sidebar/SidebarCollapse.tsx +++ b/packages/ui/src/components/Sidebar/SidebarCollapse.tsx @@ -7,8 +7,7 @@ import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { ChevronDownIcon } from "../../icons"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { Tooltip } from "../Tooltip"; import { useSidebarContext } from "./SidebarContext"; import type { SidebarItemProps } from "./SidebarItem"; diff --git a/packages/ui/src/components/Sidebar/SidebarItem.tsx b/packages/ui/src/components/Sidebar/SidebarItem.tsx index 2d5e749bf..a1687a590 100644 --- a/packages/ui/src/components/Sidebar/SidebarItem.tsx +++ b/packages/ui/src/components/Sidebar/SidebarItem.tsx @@ -6,9 +6,8 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, ThemingProps } from "../../types"; import { Badge } from "../Badge"; -import type { FlowbiteColors } from "../Flowbite/FlowbiteTheme"; import { Tooltip } from "../Tooltip"; import { useSidebarContext } from "./SidebarContext"; import { useSidebarItemContext } from "./SidebarItemContext"; diff --git a/packages/ui/src/components/Sidebar/SidebarLogo.tsx b/packages/ui/src/components/Sidebar/SidebarLogo.tsx index 8149915c6..061ebeb72 100644 --- a/packages/ui/src/components/Sidebar/SidebarLogo.tsx +++ b/packages/ui/src/components/Sidebar/SidebarLogo.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import { useSidebarContext } from "./SidebarContext"; import { sidebarTheme } from "./theme"; diff --git a/packages/ui/src/components/Spinner/Spinner.spec.tsx b/packages/ui/src/components/Spinner/Spinner.spec.tsx index 1e6aabed4..f4dd56894 100644 --- a/packages/ui/src/components/Spinner/Spinner.spec.tsx +++ b/packages/ui/src/components/Spinner/Spinner.spec.tsx @@ -2,7 +2,7 @@ import type { RenderResult } from "@testing-library/react"; import { render } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { Spinner } from "./Spinner"; describe("Components / Spinner", () => { diff --git a/packages/ui/src/components/Spinner/Spinner.tsx b/packages/ui/src/components/Spinner/Spinner.tsx index dda5c105d..8cca63bf6 100644 --- a/packages/ui/src/components/Spinner/Spinner.tsx +++ b/packages/ui/src/components/Spinner/Spinner.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteColors, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteColors, FlowbiteSizes, ThemingProps } from "../../types"; import { spinnerTheme } from "./theme"; export interface SpinnerTheme { diff --git a/packages/ui/src/components/Tabs/Tabs.tsx b/packages/ui/src/components/Tabs/Tabs.tsx index 69b8601ef..819b33a69 100644 --- a/packages/ui/src/components/Tabs/Tabs.tsx +++ b/packages/ui/src/components/Tabs/Tabs.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteBoolean } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteBoolean, ThemingProps } from "../../types"; import type { TabItemProps } from "./TabItem"; import { tabsTheme } from "./theme"; diff --git a/packages/ui/src/components/TextInput/TextInput.tsx b/packages/ui/src/components/TextInput/TextInput.tsx index 4fc705083..732a74365 100644 --- a/packages/ui/src/components/TextInput/TextInput.tsx +++ b/packages/ui/src/components/TextInput/TextInput.tsx @@ -6,8 +6,13 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteColors, FlowbiteSizes } from "../Flowbite/FlowbiteTheme"; +import type { + DynamicStringEnumKeysOf, + FlowbiteBoolean, + FlowbiteColors, + FlowbiteSizes, + ThemingProps, +} from "../../types"; import { textInputTheme } from "./theme"; export interface TextInputTheme { diff --git a/packages/ui/src/components/Textarea/Textarea.tsx b/packages/ui/src/components/Textarea/Textarea.tsx index bd0df4cd4..33a426aba 100644 --- a/packages/ui/src/components/Textarea/Textarea.tsx +++ b/packages/ui/src/components/Textarea/Textarea.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteBoolean, FlowbiteColors, ThemingProps } from "../../types"; import { textareaTheme } from "./theme"; export interface TextareaTheme { diff --git a/packages/ui/src/components/Timeline/Timeline.spec.tsx b/packages/ui/src/components/Timeline/Timeline.spec.tsx index e2aa9d83f..b946a53e6 100644 --- a/packages/ui/src/components/Timeline/Timeline.spec.tsx +++ b/packages/ui/src/components/Timeline/Timeline.spec.tsx @@ -1,7 +1,7 @@ import { render, screen } from "@testing-library/react"; import { describe, expect, it } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import type { TimelineProps } from "./Timeline"; import { Timeline } from "./Timeline"; import { TimelineBody } from "./TimelineBody"; diff --git a/packages/ui/src/components/Timeline/TimelineTitle.tsx b/packages/ui/src/components/Timeline/TimelineTitle.tsx index 395f50ee0..0aca5ce70 100644 --- a/packages/ui/src/components/Timeline/TimelineTitle.tsx +++ b/packages/ui/src/components/Timeline/TimelineTitle.tsx @@ -5,8 +5,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { ThemingProps } from "../../types"; -import type { FlowbiteHeadingLevel } from "../Flowbite/FlowbiteTheme"; +import type { FlowbiteHeadingLevel, ThemingProps } from "../../types"; import { timelineTheme } from "./theme"; import { useTimelineContentContext } from "./TimelineContentContext"; import { useTimelineContext } from "./TimelineContext"; diff --git a/packages/ui/src/components/ToggleSwitch/ToggleSwitch.spec.tsx b/packages/ui/src/components/ToggleSwitch/ToggleSwitch.spec.tsx index 65383bfd2..ffee6797d 100644 --- a/packages/ui/src/components/ToggleSwitch/ToggleSwitch.spec.tsx +++ b/packages/ui/src/components/ToggleSwitch/ToggleSwitch.spec.tsx @@ -3,7 +3,7 @@ import userEvent from "@testing-library/user-event"; import { useState } from "react"; import { describe, expect, it, vi } from "vitest"; import { ThemeProvider } from "../../theme/provider"; -import type { CustomFlowbiteTheme } from "../Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../../types"; import { TextInput } from "../TextInput"; import { ToggleSwitch } from "./ToggleSwitch"; diff --git a/packages/ui/src/components/ToggleSwitch/ToggleSwitch.tsx b/packages/ui/src/components/ToggleSwitch/ToggleSwitch.tsx index 8c6a632e2..f134aa9a8 100644 --- a/packages/ui/src/components/ToggleSwitch/ToggleSwitch.tsx +++ b/packages/ui/src/components/ToggleSwitch/ToggleSwitch.tsx @@ -6,8 +6,7 @@ import { get } from "../../helpers/get"; import { useResolveTheme } from "../../helpers/resolve-theme"; import { twMerge } from "../../helpers/tailwind-merge"; import { useThemeProvider } from "../../theme/provider"; -import type { DynamicStringEnumKeysOf, ThemingProps } from "../../types"; -import type { FlowbiteBoolean, FlowbiteColors } from "../Flowbite/FlowbiteTheme"; +import type { DynamicStringEnumKeysOf, FlowbiteBoolean, FlowbiteColors, ThemingProps } from "../../types"; import type { TextInputSizes } from "../TextInput"; import { toggleSwitchTheme } from "./theme"; diff --git a/packages/ui/src/helpers/create-theme.ts b/packages/ui/src/helpers/create-theme.ts index 1dd376e74..7a74a5043 100644 --- a/packages/ui/src/helpers/create-theme.ts +++ b/packages/ui/src/helpers/create-theme.ts @@ -1,4 +1,4 @@ -import type { CustomFlowbiteTheme } from "../components/Flowbite/FlowbiteTheme"; +import type { CustomFlowbiteTheme } from "../types"; /** * Used to apply `tailwindcss` intellisense. diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index fb16565bb..d5b32cbd7 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -51,5 +51,8 @@ export { createTheme } from "./helpers/create-theme"; // hooks export * from "./hooks/use-theme-mode"; +// icons +export * from "./icons"; + // theme export * from "./theme"; diff --git a/packages/ui/src/theme/index.ts b/packages/ui/src/theme/index.ts index 7ed3ef534..0be8bcc5f 100644 --- a/packages/ui/src/theme/index.ts +++ b/packages/ui/src/theme/index.ts @@ -1,3 +1,98 @@ +import { accordionTheme } from "../components/Accordion/theme"; +import { alertTheme } from "../components/Alert/theme"; +import { avatarTheme } from "../components/Avatar/theme"; +import { badgeTheme } from "../components/Badge/theme"; +import { blockquoteTheme } from "../components/Blockquote/theme"; +import { breadcrumbTheme } from "../components/Breadcrumb/theme"; +import { buttonGroupTheme, buttonTheme } from "../components/Button/theme"; +import { cardTheme } from "../components/Card/theme"; +import { carouselTheme } from "../components/Carousel/theme"; +import { checkboxTheme } from "../components/Checkbox/theme"; +import { clipboardTheme } from "../components/Clipboard/theme"; +import { darkThemeToggleTheme } from "../components/DarkThemeToggle/theme"; +import { datePickerTheme } from "../components/Datepicker/theme"; +import { drawerTheme } from "../components/Drawer/theme"; +import { dropdownTheme } from "../components/Dropdown/theme"; +import { fileInputTheme } from "../components/FileInput/theme"; +import { floatingLabelTheme } from "../components/FloatingLabel/theme"; +import { footerTheme } from "../components/Footer/theme"; +import { helperTextTheme } from "../components/HelperText/theme"; +import { hrTheme } from "../components/HR/theme"; +import { kbdTheme } from "../components/Kbd/theme"; +import { labelTheme } from "../components/Label/theme"; +import { listTheme } from "../components/List/theme"; +import { listGroupTheme } from "../components/ListGroup/theme"; +import { megaMenuTheme } from "../components/MegaMenu/theme"; +import { modalTheme } from "../components/Modal/theme"; +import { navbarTheme } from "../components/Navbar/theme"; +import { paginationTheme } from "../components/Pagination/theme"; +import { popoverTheme } from "../components/Popover/theme"; +import { progressTheme } from "../components/Progress/theme"; +import { radioTheme } from "../components/Radio/theme"; +import { rangeSliderTheme } from "../components/RangeSlider/theme"; +import { ratingAdvancedTheme, ratingTheme } from "../components/Rating/theme"; +import { selectTheme } from "../components/Select/theme"; +import { sidebarTheme } from "../components/Sidebar/theme"; +import { spinnerTheme } from "../components/Spinner/theme"; +import { tableTheme } from "../components/Table/theme"; +import { tabsTheme } from "../components/Tabs/theme"; +import { textareaTheme } from "../components/Textarea/theme"; +import { textInputTheme } from "../components/TextInput/theme"; +import { timelineTheme } from "../components/Timeline/theme"; +import { toastTheme } from "../components/Toast/theme"; +import { toggleSwitchTheme } from "../components/ToggleSwitch/theme"; +import { tooltipTheme } from "../components/Tooltip/theme"; +import type { FlowbiteTheme } from "../types"; + +export const theme: FlowbiteTheme = { + accordion: accordionTheme, + alert: alertTheme, + avatar: avatarTheme, + badge: badgeTheme, + blockquote: blockquoteTheme, + breadcrumb: breadcrumbTheme, + button: buttonTheme, + buttonGroup: buttonGroupTheme, + card: cardTheme, + carousel: carouselTheme, + checkbox: checkboxTheme, + clipboard: clipboardTheme, + darkThemeToggle: darkThemeToggleTheme, + datepicker: datePickerTheme, + drawer: drawerTheme, + dropdown: dropdownTheme, + fileInput: fileInputTheme, + floatingLabel: floatingLabelTheme, + footer: footerTheme, + helperText: helperTextTheme, + hr: hrTheme, + kbd: kbdTheme, + label: labelTheme, + list: listTheme, + listGroup: listGroupTheme, + megaMenu: megaMenuTheme, + modal: modalTheme, + navbar: navbarTheme, + pagination: paginationTheme, + popover: popoverTheme, + progress: progressTheme, + radio: radioTheme, + rangeSlider: rangeSliderTheme, + rating: ratingTheme, + ratingAdvanced: ratingAdvancedTheme, + select: selectTheme, + sidebar: sidebarTheme, + spinner: spinnerTheme, + table: tableTheme, + tabs: tabsTheme, + textarea: textareaTheme, + textInput: textInputTheme, + timeline: timelineTheme, + toast: toastTheme, + toggleSwitch: toggleSwitchTheme, + tooltip: tooltipTheme, +}; + export { ThemeConfig, type ThemeConfigProps } from "./config"; export { ThemeModeScript, type ThemeModeScriptProps } from "./mode-script"; export { ThemeProvider, useThemeProvider, type ThemeProviderProps, type ThemeProviderValue } from "./provider"; diff --git a/packages/ui/src/theme/provider.tsx b/packages/ui/src/theme/provider.tsx index 0c5bf876e..96057ddbb 100644 --- a/packages/ui/src/theme/provider.tsx +++ b/packages/ui/src/theme/provider.tsx @@ -2,10 +2,9 @@ import { deepmerge } from "deepmerge-ts"; import { createContext, useContext, useMemo, type PropsWithChildren } from "react"; -import type { FlowbiteTheme } from "../components/Flowbite/FlowbiteTheme"; import { deepMergeStrings } from "../helpers/deep-merge"; import { twMerge } from "../helpers/tailwind-merge"; -import type { ThemingProps } from "../types"; +import type { FlowbiteTheme, ThemingProps } from "../types"; export type ThemeProviderValue = ThemingProps; diff --git a/packages/ui/src/types/index.ts b/packages/ui/src/types/index.ts index 041368294..b253e8b51 100644 --- a/packages/ui/src/types/index.ts +++ b/packages/ui/src/types/index.ts @@ -1,3 +1,48 @@ +import type { AccordionTheme } from "../components/Accordion"; +import type { AlertTheme } from "../components/Alert"; +import type { AvatarTheme } from "../components/Avatar"; +import type { BadgeTheme } from "../components/Badge"; +import type { BlockquoteTheme } from "../components/Blockquote"; +import type { BreadcrumbTheme } from "../components/Breadcrumb"; +import type { ButtonGroupTheme, ButtonTheme } from "../components/Button"; +import type { CardTheme } from "../components/Card"; +import type { CarouselTheme } from "../components/Carousel"; +import type { CheckboxTheme } from "../components/Checkbox"; +import type { ClipboardTheme } from "../components/Clipboard"; +import type { DarkThemeToggleTheme } from "../components/DarkThemeToggle"; +import type { DatepickerTheme } from "../components/Datepicker"; +import type { DrawerTheme } from "../components/Drawer"; +import type { DropdownTheme } from "../components/Dropdown"; +import type { FileInputTheme } from "../components/FileInput"; +import type { FloatingLabelTheme } from "../components/FloatingLabel"; +import type { FooterTheme } from "../components/Footer"; +import type { HelperTextTheme } from "../components/HelperText"; +import type { HRTheme } from "../components/HR/HR"; +import type { KbdTheme } from "../components/Kbd"; +import type { LabelTheme } from "../components/Label"; +import type { ListTheme } from "../components/List"; +import type { ListGroupTheme } from "../components/ListGroup"; +import type { MegaMenuTheme } from "../components/MegaMenu"; +import type { ModalTheme } from "../components/Modal"; +import type { NavbarTheme } from "../components/Navbar"; +import type { PaginationTheme } from "../components/Pagination"; +import type { PopoverTheme } from "../components/Popover"; +import type { ProgressTheme } from "../components/Progress"; +import type { RadioTheme } from "../components/Radio"; +import type { RangeSliderTheme } from "../components/RangeSlider"; +import type { RatingAdvancedTheme, RatingTheme } from "../components/Rating"; +import type { SelectTheme } from "../components/Select"; +import type { SidebarTheme } from "../components/Sidebar"; +import type { SpinnerTheme } from "../components/Spinner"; +import type { TableTheme } from "../components/Table"; +import type { TabsTheme } from "../components/Tabs"; +import type { TextareaTheme } from "../components/Textarea"; +import type { TextInputTheme } from "../components/TextInput"; +import type { TimelineTheme } from "../components/Timeline"; +import type { ToastTheme } from "../components/Toast"; +import type { ToggleSwitchTheme } from "../components/ToggleSwitch"; +import type { TooltipTheme } from "../components/Tooltip"; + export type DeepPartial = T extends object ? { [K in keyof T]?: DeepPartial } : T; export type RemoveIndexSignature = { @@ -41,3 +86,111 @@ export interface ThemingProps { */ applyTheme?: DeepPartialApplyTheme; } + +export type CustomFlowbiteTheme = DeepPartial; + +export interface FlowbiteTheme { + accordion: AccordionTheme; + alert: AlertTheme; + avatar: AvatarTheme; + badge: BadgeTheme; + blockquote: BlockquoteTheme; + breadcrumb: BreadcrumbTheme; + button: ButtonTheme; + buttonGroup: ButtonGroupTheme; + card: CardTheme; + carousel: CarouselTheme; + checkbox: CheckboxTheme; + clipboard: ClipboardTheme; + darkThemeToggle: DarkThemeToggleTheme; + datepicker: DatepickerTheme; + drawer: DrawerTheme; + dropdown: DropdownTheme; + fileInput: FileInputTheme; + floatingLabel: FloatingLabelTheme; + footer: FooterTheme; + helperText: HelperTextTheme; + hr: HRTheme; + kbd: KbdTheme; + label: LabelTheme; + list: ListTheme; + listGroup: ListGroupTheme; + megaMenu: MegaMenuTheme; + modal: ModalTheme; + navbar: NavbarTheme; + pagination: PaginationTheme; + popover: PopoverTheme; + progress: ProgressTheme; + radio: RadioTheme; + rangeSlider: RangeSliderTheme; + rating: RatingTheme; + ratingAdvanced: RatingAdvancedTheme; + select: SelectTheme; + sidebar: SidebarTheme; + spinner: SpinnerTheme; + table: TableTheme; + tabs: TabsTheme; + textarea: TextareaTheme; + textInput: TextInputTheme; + timeline: TimelineTheme; + toast: ToastTheme; + toggleSwitch: ToggleSwitchTheme; + tooltip: TooltipTheme; +} + +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 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; +}