Skip to content

Commit 23906e7

Browse files
committed
fix(ui): add orphan class names to the theme
1 parent c2b8795 commit 23906e7

File tree

12 files changed

+19
-7
lines changed

12 files changed

+19
-7
lines changed

packages/ui/src/components/Avatar/Avatar.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export interface AvatarTheme {
2626

2727
export interface AvatarRootTheme {
2828
base: string;
29+
inner: string;
2930
bordered: string;
3031
color: AvatarColors;
3132
img: AvatarImageTheme;
@@ -124,7 +125,7 @@ export const Avatar = forwardRef<HTMLDivElement, AvatarProps>((props, ref) => {
124125

125126
return (
126127
<div ref={ref} className={twMerge(theme.root.base, className)} data-testid="flowbite-avatar" {...restProps}>
127-
<div className="relative">
128+
<div className={theme.root.inner}>
128129
{img ? (
129130
typeof img === "string" ? (
130131
<img alt={alt} src={img} {...imgProps} />

packages/ui/src/components/Avatar/theme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import type { AvatarTheme } from "./Avatar";
44
export const avatarTheme = createTheme<AvatarTheme>({
55
root: {
66
base: "flex items-center justify-center space-x-4 rounded",
7+
inner: "relative",
78
bordered: "p-1 ring-2",
89
rounded: "rounded-full",
910
color: {

packages/ui/src/components/Drawer/DrawerHeader.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export interface DrawerHeaderTheme {
1818
titleText: string;
1919
closeButton: string;
2020
closeIcon: string;
21+
titleCloseIcon: string;
2122
};
2223
collapsed: FlowbiteBoolean;
2324
}
@@ -64,7 +65,7 @@ export const DrawerHeader = forwardRef<HTMLDivElement, DrawerHeaderProps>((props
6465
</h5>
6566
<button onClick={onClose} data-testid="close-drawer" className={theme.inner.closeButton}>
6667
<CloseIcon aria-hidden className={theme.inner.closeIcon} />
67-
<span className="sr-only">Close menu</span>
68+
<span className={theme.inner.titleCloseIcon}>Close menu</span>
6869
</button>
6970
<span className={theme.collapsed[isOpen ? "on" : "off"]} id={`flowbite-drawer-header-${id}`}>
7071
{children}

packages/ui/src/components/Drawer/theme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const drawerTheme = createTheme<DrawerTheme>({
3030
closeButton:
3131
"absolute end-2.5 top-2.5 flex h-8 w-8 items-center justify-center rounded-lg bg-transparent text-sm text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-600 dark:hover:text-white",
3232
closeIcon: "h-4 w-4",
33+
titleCloseIcon: "sr-only",
3334
titleIcon: "me-2.5 h-4 w-4",
3435
titleText: "mb-4 inline-flex items-center text-base font-semibold text-gray-500 dark:text-gray-400",
3536
},

packages/ui/src/components/Navbar/NavbarToggle.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { navbarTheme } from "./theme";
1414
export interface NavbarToggleThem {
1515
base: string;
1616
icon: string;
17+
title: string;
1718
}
1819

1920
export interface NavbarToggleProps extends ComponentProps<"button">, ThemingProps<NavbarToggleThem> {
@@ -50,7 +51,7 @@ export const NavbarToggle = forwardRef<HTMLButtonElement, NavbarToggleProps>((pr
5051
className={twMerge(theme.base, className)}
5152
{...restProps}
5253
>
53-
<span className="sr-only">Open main menu</span>
54+
<span className={theme.title}>Open main menu</span>
5455
<BarIcon aria-hidden className={theme.icon} />
5556
</button>
5657
);

packages/ui/src/components/Navbar/theme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,6 @@ export const navbarTheme = createTheme<NavbarTheme>({
4545
toggle: {
4646
base: "inline-flex items-center rounded-lg p-2 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 md:hidden dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600",
4747
icon: "h-6 w-6 shrink-0",
48+
title: "sr-only",
4849
},
4950
});

packages/ui/src/components/Popover/Popover.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ import { getArrowPlacement } from "../Floating/helpers";
1515
import { popoverTheme } from "./theme";
1616

1717
export interface PopoverTheme {
18-
arrow: Omit<FloatingArrowTheme, "style">;
1918
base: string;
19+
inner: string;
2020
content: string;
21+
arrow: Omit<FloatingArrowTheme, "style">;
2122
}
2223

2324
export interface PopoverProps extends Omit<ComponentProps<"div">, "content" | "style">, ThemingProps<PopoverTheme> {
@@ -108,7 +109,7 @@ export function Popover(props: PopoverProps) {
108109
style={floatingStyles}
109110
{...getFloatingProps()}
110111
>
111-
<div className="relative">
112+
<div className={theme.inner}>
112113
{arrow && (
113114
<div
114115
className={theme.arrow.base}

packages/ui/src/components/Popover/theme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { PopoverTheme } from "./Popover";
33

44
export const popoverTheme = createTheme<PopoverTheme>({
55
base: "absolute z-20 inline-block w-max max-w-[100vw] rounded-lg border border-gray-200 bg-white shadow-sm outline-none dark:border-gray-600 dark:bg-gray-800",
6+
inner: "relative",
67
content: "z-10 overflow-hidden rounded-[7px]",
78
arrow: {
89
base: "absolute z-0 h-2 w-2 rotate-45 border border-gray-200 bg-white mix-blend-lighten dark:border-gray-600 dark:bg-gray-800 dark:mix-blend-color",

packages/ui/src/components/Sidebar/SidebarCollapse.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export interface SidebarCollapseTheme {
2323
};
2424
label: {
2525
base: string;
26+
title: string;
2627
icon: {
2728
base: string;
2829
open: FlowbiteBoolean;
@@ -98,7 +99,7 @@ export const SidebarCollapse = forwardRef<HTMLLIElement, SidebarCollapseProps>((
9899
/>
99100
)}
100101
{isCollapsed ? (
101-
<span className="sr-only">{label}</span>
102+
<span className={theme.label.title}>{label}</span>
102103
) : (
103104
<>
104105
<span data-testid="flowbite-sidebar-collapse-label" className={theme.label.base}>

packages/ui/src/components/Sidebar/theme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const sidebarTheme = createTheme<SidebarTheme>({
2222
},
2323
label: {
2424
base: "ml-3 flex-1 whitespace-nowrap text-left",
25+
title: "sr-only",
2526
icon: {
2627
base: "h-6 w-6 transition delay-0 ease-in-out",
2728
open: {

0 commit comments

Comments
 (0)