Render the first matching state. Use it for mutually exclusive loading, empty and ready views.

Display a playback state

tsx
import { Match, Switch, Text, signal } from 'kuito';

export default function Status() {
  const state = signal<'idle' | 'playing' | 'paused'>('idle');

  return (
    <Switch fallback={<Text>Nothing playing</Text>}>
      <Match when={state.value === 'playing'}>
        <Text>Playing</Text>
      </Match>
      <Match when={state.value === 'paused'}>
        <Text>Paused</Text>
      </Match>
    </Switch>
  );
}

Behavior

Use Match as direct children. Only the first truthy condition renders; fallback handles no match. Use Toggle for an on/off input.

Continue

Read Control flow for a complete workflow. See the complete prop reference for types and documented defaults.

Reference

Signatures

ts
(props: SwitchProps): KuitoElement

Parameters

NameTypeRequiredDescription
propsSwitchPropsYes—

Returns

KuitoElement

Props: SwitchProps

Props (including inherited props) 3

NameTypeRequiredDescription
fallbackKuitoNodeNo—
childrenKuitoNodeNoMatch elements only.
keystring | numberNo—
Generated from the public TypeScript declarations: signatures, props and defaults come from the checked source, descriptions from its JSDoc. No defaults are invented.