svelte-multiselect Svelte MultiSelect

User interface

Food Picker (initially invalid)

svelte<script lang="ts">
  import MultiSelect from '$lib'
  import { foods } from '$site/options'

  function random_color(): string {
    const [r, g, b] = Array.from([1, 2, 3], (_) => Math.floor(Math.random() * 255))
    return `rgba(${r}, ${g}, ${b}, 0.3)`
  }
  let options = $derived(
    foods.map((label) => ({
      label,
      style: `background-color: ${random_color()}`,
    })),
  )
</script>

<MultiSelect
  {options}
  placeholder="Pick your favorite foods"
  removeAllTitle="Remove all foods"
  closeDropdownOnSelect
  style="width: 500px"
  invalid
/>

Retain Focus Picker

svelte<script lang="ts">
  import MultiSelect from '$lib'

  const options = [`Svelte`, `Solid`, `React`]
</script>

<MultiSelect
  {options}
  closeDropdownOnSelect="retain-focus"
  placeholder="Pick a framework"
/>

This page is used for Playwright testing to ensure