İçeriğe geç
BigBang

Sık açılanlar

    ↑↓Gezin↵AçEscKapat
    EN

    Bileşenler

    SegmentedControl

    Aynı içeriğin iki ile beş görünümü arasında tek seçim yapan, kayan göstergeli denetim.

    Storybook
    Storybook
    Kaynak kod
    Kaynak kod

    Aşağıdaki örnek Storybook’tan canlı yüklenir; denetimleri Storybook’ta açabilirsiniz. Seçeneği değiştirerek dolgunun yaya bağlı kaymasına bakın.

    Canlı örnek, StorybookStorybook'ta aç

    SegmentedControl 36 px yükseklikte gelir. Seçili seçenek, katman zemini üstünde kayan yükseltilmiş bir dolguyla gösterilir. label zorunludur.

    GünlükHaftalıkAylık
    import { SegmentedControl } from '@bigbang/ui';
    const items = [
    { value: 'day', label: 'Günlük' },
    { value: 'week', label: 'Haftalık' },
    { value: 'month', label: 'Aylık' },
    ];
    export default function Default() {
    return (
    <SegmentedControl label="Dönem" items={items} defaultValue="week" />
    );
    }

    Her seçenek etiketten önce süs ikonu alabilir.

    ListeIzgara
    import { SegmentedControl } from '@bigbang/ui';
    export default function WithIcons() {
    return (
    <SegmentedControl
    label="Görünüm"
    defaultValue="list"
    items={[
    { value: 'list', label: 'Liste', icon: 'list' },
    { value: 'grid', label: 'Izgara', icon: 'layout-grid' },
    ]}
    />
    );
    }

    size 32 ya da 36 px yükseklik verir.

    GünlükHaftalıkAylık
    GünlükHaftalıkAylık
    import { SegmentedControl } from '@bigbang/ui';
    const items = [
    { value: 'day', label: 'Günlük' },
    { value: 'week', label: 'Haftalık' },
    { value: 'month', label: 'Aylık' },
    ];
    export default function Sizes() {
    return (
    <div className="flex flex-col items-start gap-lg">
    <SegmentedControl label="Dönem sm" items={items} defaultValue="day" size="sm" />
    <SegmentedControl label="Dönem md" items={items} defaultValue="day" />
    </div>
    );
    }

    fullWidth denetimi kapsayıcıya yayar; genişlik seçenekler arasında eşit bölünür.

    GünlükHaftalıkAylık
    import { SegmentedControl } from '@bigbang/ui';
    const items = [
    { value: 'day', label: 'Günlük' },
    { value: 'week', label: 'Haftalık' },
    { value: 'month', label: 'Aylık' },
    ];
    export default function FullWidth() {
    return (
    <div className="w-full max-w-md">
    <SegmentedControl label="Dönem" items={items} defaultValue="month" fullWidth />
    </div>
    );
    }

    Tek bir seçenek disabled alabilir; ok tuşları onu atlar. Denetimin tamamı için disabled verin.

    GünlükHaftalıkAylıkYıllık
    import { SegmentedControl } from '@bigbang/ui';
    const items = [
    { value: 'day', label: 'Günlük' },
    { value: 'week', label: 'Haftalık' },
    { value: 'month', label: 'Aylık' },
    ];
    export default function Disabled() {
    return (
    <SegmentedControl
    label="Dönem"
    items={[...items, { value: 'year', label: 'Yıllık', disabled: true }]}
    defaultValue="day"
    />
    );
    }

    Renkler semantik token’lardan gelir; iki modda ayrı ayar gerekmez.

    GünlükHaftalıkAylık
    GünlükHaftalıkAylık
    import { SegmentedControl } from '@bigbang/ui';
    const items = [
    { value: 'day', label: 'Günlük' },
    { value: 'week', label: 'Haftalık' },
    { value: 'month', label: 'Aylık' },
    ];
    export default function Default() {
    return (
    <SegmentedControl label="Dönem" items={items} defaultValue="week" />
    );
    }