Lewati ke konten

Tab Menu - React

Tab Menu

banner-background
import { TabVertical } from '@idds/react';
import { useState } from 'react';
import { TabHorizontal } from '@idds/react';

export default function App() {
  const [value, setValue] = useState('overview');

  const items = [
    { value: 'overview', label: 'Overview' },
    { value: 'details', label: 'Details' },
    { value: 'profile', label: 'Profile' },
  ];

  return (
    <TabHorizontal
      items={items}
      value={value}
      onChange={setValue}
      variant="outline"
    />
  );
}

Selected: overview

Pilih Tema

Selected: overview

Contoh 3 - Button White Variant with useBrandColor

Section titled “Contoh 3 - Button White Variant with useBrandColor”

Selected: overview

Small (sm)

Medium (md) - Default

Selected: overview

Pilih Tema

Selected: overview

Selected: overview

Selected: overview

TabVertical

NameTypeDefaultRequiredDescription
itemsTabVerticalItem[]YesArray of tab items. Each item has: { value: string, label: ReactNode, disabled?: boolean }
value?stringNoCurrently selected tab value (controlled).
defaultValue?stringNoDefault selected tab value (uncontrolled).
onChange?(value: string) => voidNoCallback when tab changes.
size?'sm' | 'md''md'NoSize variant: sm (14px/36px, mobile: 12px/32px) or md (16px/40px, mobile: 14px/36px).
variant?'button-brand' | 'outline' | 'button-white''outline'NoVisual variant of the tabs.
useBrandColor?booleanfalseNoWhether to use brand primary color for outline and button-white variants.
disabled?booleanfalseNoWhether tabs are disabled.
className?string''NoCustom class name for container.
containerClassName?string''NoCustom class name for tab container.
tabClassName?string''NoCustom class name for individual tabs.
width?string | number'200px'NoWidth of the vertical tab container.

TabHorizontal

NameTypeDefaultRequiredDescription
itemsTabHorizontalItem[]YesArray of tab items. Each item has: { value: string, label: ReactNode, disabled?: boolean }
value?stringNoCurrently selected tab value (controlled).
defaultValue?stringNoDefault selected tab value (uncontrolled).
onChange?(value: string) => voidNoCallback when tab changes.
size?'sm' | 'md''md'NoSize variant: sm (14px/36px, mobile: 12px/32px) or md (16px/40px, mobile: 14px/36px).
variant?'button-brand' | 'outline' | 'button-white''outline'NoVisual variant of the tabs.
fullWidth?booleanfalseNoWhether tabs should fill full width with flex-1.
useBrandColor?booleanfalseNoWhether to use brand primary color for outline and button-white variants.
disabled?booleanfalseNoWhether tabs are disabled.
className?string''NoCustom class name for container.
containerClassName?string''NoCustom class name for tab container.
tabClassName?string''NoCustom class name for individual tabs.