All files / client/src/components/ui tab-bar.tsx

100% Statements 4/4
100% Branches 3/3
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                    5x   46x 46x                 5x  
import * as React from "react";
import { Slot } from "@radix-ui/react-slot";
import { cn } from "@/lib/utils";
 
export interface TabBarProps extends React.HTMLAttributes<HTMLDivElement> {
  /** Render the shared styling on a child such as Radix TabsList. */
  readonly asChild?: boolean;
}
 
/** Shared visual/layout contract for editor and output tab strips. */
export const TabBar = React.forwardRef<HTMLDivElement, TabBarProps>(
  ({ asChild = false, className, ...props }, ref) => {
    const Component = asChild ? Slot : "div";
    return (
      <Component
        ref={ref}
        className={cn("unified-tab-bar", className)}
        {...props}
      />
    );
  },
);
TabBar.displayName = "TabBar";