İçeriğe geç
BigBang

Sık açılanlar

    ↑↓Gezin↵AçEscKapat
    EN

    Bileşenler

    Skeleton

    Henüz yüklenen içeriğin biçiminde bir yer tutucu.

    Storybook
    Storybook
    Kaynak kod
    Kaynak kod

    Aşağıdaki örnek Storybook’tan canlı yüklenir; denetimleri Storybook’ta açabilirsiniz.

    Canlı örnek, StorybookStorybook'ta aç

    Skeleton role="status" ve aria-busy taşır, görünmeyen “İçerik yükleniyor” metnini okutur. Vurgu üç kez geçer ve durur.

    İçerik yükleniyor
    import { Skeleton } from '@bigbang/ui';
    export default function Default() {
    return (
    <div className="w-80">
    <Skeleton lines={3} />
    </div>
    );
    }

    shape: text satırlar, block 16:9 blok, circle 32 px daire.

    İçerik yükleniyor
    İçerik yükleniyor
    İçerik yükleniyor
    import { Skeleton } from '@bigbang/ui';
    export default function Shapes() {
    return (
    <div className="flex w-80 flex-col gap-lg">
    <Skeleton lines={2} />
    <Skeleton shape="block" />
    <Skeleton shape="circle" />
    </div>
    );
    }

    Birden çok parça bir öğeyi temsil ediyorsa durum rolünü kapsayıcıya verin ve parçaları decorative yapın.

    Kart yükleniyor
    import { Skeleton } from '@bigbang/ui';
    export default function Card() {
    return (
    <div role="status" aria-busy="true" className="flex w-80 items-start gap-md">
    <Skeleton shape="circle" decorative />
    <div className="flex flex-1 flex-col gap-sm">
    <Skeleton width="60%" decorative />
    <Skeleton lines={2} decorative />
    </div>
    <span className="sr-only">Kart yükleniyor</span>
    </div>
    );
    }

    loading={false} olunca yerini children alır ve motion.reveal ile belirir.

    İçerik yükleniyor
    import { Button, Skeleton } from '@bigbang/ui';
    import { useState } from 'react';
    export default function Reveal() {
    const [loading, setLoading] = useState(true);
    return (
    <div className="flex w-80 flex-col gap-md">
    <Skeleton lines={2} loading={loading}>
    <p className="type-body-md text-fg-default">Kart açıklaması burada yer alır.</p>
    </Skeleton>
    <div>
    <Button variant="secondary" size="sm" onClick={() => setLoading((value) => !value)}>
    Yüklemeyi değiştir
    </Button>
    </div>
    </div>
    );
    }

    Zemin color-surface-sunken, vurgu color-surface-raised rengindedir.

    İçerik yükleniyor
    İçerik yükleniyor
    İçerik yükleniyor
    İçerik yükleniyor
    İçerik yükleniyor
    İçerik yükleniyor
    import { Skeleton } from '@bigbang/ui';
    export default function Shapes() {
    return (
    <div className="flex w-80 flex-col gap-lg">
    <Skeleton lines={2} />
    <Skeleton shape="block" />
    <Skeleton shape="circle" />
    </div>
    );
    }