Autocomplete
Autocomplete is used to search and pick a value from a list of options.
Basic
	
	
	You're doing it wrong!
<script lang="ts">
   import { Autocomplete } from 'stwui';
	const email = "svg-path";
   let value: string;
   let options = ['Option 1', 'Option 2', 'Option 3'];
   function filter(e: Event) {
		const target = e.target as HTMLInputElement;
		filtered = options.filter((opt) => opt.toLowerCase().includes(target.value.toLowerCase()));
	}
   function filterOptions(option: string) {
      if (option) {
         filtered = options.filter((opt) => opt.toLowerCase().includes(option.toLowerCase()));
      } else {
         filtered = options;
      }
	}
	$: filterOptions(value);
</script>
<Autocomplete name="autocomplete" bind:value={value} on:input={filter}>
	<Autocomplete.Label slot="label">Label</Autocomplete.Label>
	<Autocomplete.Leading slot="leading" data={email} />
	<Autocomplete.Options slot="options">
		{#if filtered.length > 0}
			{#each filtered as option}
				<Autocomplete.Options.Option {option} />
			{/each}
		{:else}
			<Autocomplete.Options.EmptyOption />
		{/if}
	</Autocomplete.Options>
</Autocomplete>Any Value
	
	
	<script lang="ts">
   import { Autocomplete } from 'stwui';
   let value = 'I am not in the list!';
   let options = ['Option 1', 'Option 2', 'Option 3'];
   function filter(e: Event) {
		const target = e.target as HTMLInputElement;
		filtered = options.filter((opt) => opt.toLowerCase().includes(target.value.toLowerCase()));
	}
   function filterOptions(option: string) {
      if (option) {
         filtered = options.filter((opt) => opt.toLowerCase().includes(option.toLowerCase()));
      } else {
         filtered = options;
      }
	}
	$: filterOptions(value);
</script>
<Autocomplete
	name="autocomplete"
	placeholder="Basic"
	bind:value={value}
	on:input={filter}
	allowNonListValue
>
	<Autocomplete.Options slot="options">
		{#if filtered.length > 0}
			{#each filtered as option}
				<Autocomplete.Options.Option {option} />
			{/each}
		{:else}
			<Autocomplete.Options.EmptyOption />
		{/if}
	</Autocomplete.Options>
</Autocomplete>Autocomplete Props
| name | string | |
| error | string | |
| placeholder | string | |
| value | string | |
| allowNonListValue | boolean | false | 
| options | string[] | [] | 
Autocomplete Slots
| label | <Autocomplete.Label slot="label" />
							 | 
				
| leading | <Autocomplete.Leading slot="leading" />
							 | 
				
| options | <Autocomplete.Options slot="options" />
							 | 
				
Autocomplete.Label Slots
| default | 
Autocomplete.Leading Props
| data | string (IconData) | |
| viewBox | string | 0 0 24 24 | 
| size | string | 24px | 
| width | string | 24px | 
| height | string | 24px | 
| color | string | currentColor | 
| stroke | string | undefined | |
| fill | string | currentColor | 
Autocomplete.Options Slots
| default | <Autocomplete.Options.Option />
							 | 
				
| default | <Autocomplete.Options.EmptyOption />
							 | 
				
Autocomplete.Options.Option Props
| option | string | 
Autocomplete.Options.EmptyOption Slots
| default | 
