Ellipsis

View Source

NOTE: Introduced feature in v0.2.5.

Ellipsis is an indicator used to tell the user that something is loading in the background.

<script>
    import {
        Button,
        Ellipsis,
        Heading,
        Stack,
        Text,
    } from "@kahi-ui/framework";
</script>

<Stack.Container alignment_x="left" spacing="medium">
    <Button disabled>
        <!--
            NOTE: Wrapping text and Component together to
            prevent `Ellipsis` from getting icon spacing
        -->
        <Text is="span">
            Submit<Ellipsis />
        </Text>
    </Button>

    <Heading>
        Loading<Ellipsis />
    </Heading>
</Stack.Container>

Imports

<script>
    import {Ellipsis} from "@kahi-ui/framework";
</script>

Slot

You can customize the content used for the animation via the by passing into the default slot.

<script>
    import {
        Ellipsis,
        Heading,
    } from "@kahi-ui/framework";
</script>

<Heading>
    Loading<Ellipsis>/</Ellipsis>
</Heading>

Animations

NOTE: Introduced feature in v0.6.0.

You can customize which animation is played via the animation property.

<script>
    import {
        Dot,
        Ellipsis,
        Stack,
        Text,
    } from "@kahi-ui/framework";
</script>

<Stack.Container
    orientation="horizontal"
    spacing="medium"
    variation="wrap"
>
    <div>
        <Text is="strong">DEFAULT</Text>
        <br />
        <Ellipsis>
            <Dot palette="accent" />
        </Ellipsis>
    </div>

    <div>
        <Text is="strong">BOUNCE</Text>
        <br />
        <Ellipsis animation="bounce">
            <Dot palette="accent" />
        </Ellipsis>
    </div>

    <div>
        <Text is="strong">PING</Text>
        <br />
        <Ellipsis animation="ping">
            <Dot palette="accent" />
        </Ellipsis>
    </div>

    <div>
        <Text is="strong">PULSE</Text>
        <br />
        <Ellipsis animation="pulse">
            <Dot palette="accent" />
        </Ellipsis>
    </div>
</Stack.Container>

Iterations

NOTE: Introduced feature in v0.6.0.

You can customize how many times the content is repeated via the iterations property.

<script>
    import {
        Dot,
        Ellipsis,
        NumberInput,
    } from "@kahi-ui/framework";

    let iterations = 5;
</script>

<NumberInput bind:value={iterations} />

<!--
    NOTE: The animation can desync if `iterations` is changed during
    runtime. So for the demo, a `#key` block is used to recreate the
    Component every time `iterations` is updated
-->

{#key iterations}
    <Ellipsis animation="bounce" {iterations}>
        <Dot palette="accent" />
    </Ellipsis>
{/key}

Properties

Ellipsis

Name Description Types
animation Alters the animation played infinitely.
bounce ping pulse (DEFAULT)
iterations Alters how many times the default slot is repeated.
3 (DEFAULT) number

Slots

Ellipsis

Name Description Types
default Alters the rendered animated character.
{}