mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-29 07:34:11 +00:00
69 lines
1.8 KiB
TypeScript
69 lines
1.8 KiB
TypeScript
"use client"
|
|
|
|
import * as React from "react"
|
|
|
|
import {
|
|
Field,
|
|
FieldContent,
|
|
FieldDescription,
|
|
FieldGroup,
|
|
FieldLabel,
|
|
} from "@/styles/base-nova/ui/field"
|
|
import { Label } from "@/styles/base-nova/ui/label"
|
|
import {
|
|
Select,
|
|
SelectContent,
|
|
SelectGroup,
|
|
SelectItem,
|
|
SelectTrigger,
|
|
SelectValue,
|
|
} from "@/styles/base-nova/ui/select"
|
|
import { Switch } from "@/styles/base-nova/ui/switch"
|
|
|
|
const items = [
|
|
{ label: "Select a fruit", value: null },
|
|
{ label: "Apple", value: "apple" },
|
|
{ label: "Banana", value: "banana" },
|
|
{ label: "Blueberry", value: "blueberry" },
|
|
{ label: "Grapes", value: "grapes" },
|
|
{ label: "Pineapple", value: "pineapple" },
|
|
]
|
|
|
|
export function SelectAlignItem() {
|
|
const [alignItemWithTrigger, setAlignItemWithTrigger] = React.useState(true)
|
|
|
|
return (
|
|
<FieldGroup className="w-full max-w-xs">
|
|
<Field orientation="horizontal">
|
|
<FieldContent>
|
|
<FieldLabel htmlFor="align-item">Align Item</FieldLabel>
|
|
<FieldDescription>
|
|
Toggle to align the item with the trigger.
|
|
</FieldDescription>
|
|
</FieldContent>
|
|
<Switch
|
|
id="align-item"
|
|
checked={alignItemWithTrigger}
|
|
onCheckedChange={setAlignItemWithTrigger}
|
|
/>
|
|
</Field>
|
|
<Field>
|
|
<Select items={items} defaultValue="banana">
|
|
<SelectTrigger>
|
|
<SelectValue />
|
|
</SelectTrigger>
|
|
<SelectContent alignItemWithTrigger={alignItemWithTrigger}>
|
|
<SelectGroup>
|
|
{items.map((item) => (
|
|
<SelectItem key={item.value} value={item.value}>
|
|
{item.label}
|
|
</SelectItem>
|
|
))}
|
|
</SelectGroup>
|
|
</SelectContent>
|
|
</Select>
|
|
</Field>
|
|
</FieldGroup>
|
|
)
|
|
}
|