import {
Tabs,
TabsList,
TabsTrigger,
TabsContent,
TabsVariant,
TabsSize,
} from '../../../Tabs'
import { Settings, User, X } from 'lucide-react'
const TabsLightHouse = () => {
const basicItems = [
{
value: 'tab1',
label: 'Tab 1',
content:
Content for Tab 1
,
},
{
value: 'tab2',
label: 'Tab 2',
content: Content for Tab 2
,
},
{
value: 'tab3',
label: 'Tab 3',
content: Content for Tab 3
,
},
]
return (
<>
{/* Basic Tabs - Underline Variant */}
{/* Boxed Variant */}
{/* Floating Variant */}
{/* Pills Variant */}
{/* Large Size */}
{/* Expanded */}
{/* Fit Content */}
{/* With Default Value */}
{/* Controlled */}
{
console.log('Tab changed:', value)
}}
/>
{/* With Closable Tabs */}
Content for Tab 1,
newItem: true,
},
{
value: 'tab2',
label: 'Tab 2',
content: Content for Tab 2
,
newItem: true,
},
{
value: 'tab3',
label: 'Tab 3',
content: Content for Tab 3
,
newItem: false,
},
]}
variant={TabsVariant.UNDERLINE}
onTabClose={(value) => {
console.log('Tab closed:', value)
}}
/>
{/* With Dropdown */}
Content 1,
},
{
value: 'tab2',
label: 'Tab 2',
content: Content 2
,
},
{
value: 'tab3',
label: 'Tab 3',
content: Content 3
,
},
{
value: 'tab4',
label: 'Tab 4',
content: Content 4
,
},
{
value: 'tab5',
label: 'Tab 5',
content: Content 5
,
},
{
value: 'tab6',
label: 'Tab 6',
content: Content 6
,
},
{
value: 'tab7',
label: 'Tab 7',
content: Content 7
,
},
]}
variant={TabsVariant.UNDERLINE}
showDropdown={true}
/>
{/* With Add Button */}
{
console.log('Add tab clicked')
}}
/>
{/* With Slots */}
Content for Tab 1,
leftSlot: ,
},
{
value: 'tab2',
label: 'Tab 2',
content: Content for Tab 2
,
rightSlot: ,
},
{
value: 'tab3',
label: 'Tab 3',
content: Content for Tab 3
,
leftSlot: ,
rightSlot: ,
},
]}
variant={TabsVariant.UNDERLINE}
/>
{/* Disabled Tab */}
Content for Tab 1,
},
{
value: 'tab2',
label: 'Tab 2',
content: Content for Tab 2
,
disable: true,
},
{
value: 'tab3',
label: 'Tab 3',
content: Content for Tab 3
,
},
]}
variant={TabsVariant.UNDERLINE}
/>
{/* All Disabled */}
{/* With Children (Composition API) */}
Tab 1
Tab 2
Tab 3
Content for Tab 1
Content for Tab 2
Content for Tab 3
{/* With Children - Closable */}
Tab 1
Tab 2
Tab 3
Content for Tab 1
Content for Tab 2
Content for Tab 3
{/* With Children - Slots */}
}>
Tab 1
}>
Tab 2
}
rightSlot={}
>
Tab 3
Content for Tab 1
Content for Tab 2
Content for Tab 3
{/* Complex Example */}
Settings Content,
leftSlot: ,
newItem: true,
},
{
value: 'tab2',
label: 'Profile',
content: Profile Content
,
rightSlot: ,
newItem: true,
},
{
value: 'tab3',
label: 'Disabled Tab',
content: Disabled Content
,
disable: true,
},
]}
variant={TabsVariant.PILLS}
size={TabsSize.LG}
expanded={true}
showAddButton={true}
onTabAdd={() => {
console.log('Add tab clicked')
}}
onTabClose={(value) => {
console.log('Tab closed:', value)
}}
onValueChange={(value) => {
console.log('Tab changed:', value)
}}
/>
{/* Single Tab */}
Single Tab Content,
},
]}
variant={TabsVariant.UNDERLINE}
/>
>
)
}
export default TabsLightHouse