mirror of
https://github.com/hanzoai/svelte.git
synced 2026-10-01 00:41:47 +00:00
24 lines
625 B
Svelte
24 lines
625 B
Svelte
<!--
|
|
Select root — owns the open listbox, the selected value, and a value→label
|
|
registry shared with its parts via context. `bind:value` gives two-way control;
|
|
dismisses on Escape / outside press while open.
|
|
-->
|
|
<script lang="ts">
|
|
import { createSelect } from './internal/context'
|
|
import { dismiss } from './internal/actions'
|
|
|
|
export let value = ''
|
|
|
|
const { value: valueStore, open, close } = createSelect(value)
|
|
$: valueStore.set(value)
|
|
$: value = $valueStore
|
|
</script>
|
|
|
|
<div
|
|
class="relative inline-block"
|
|
data-slot="select"
|
|
use:dismiss={{ onDismiss: close, enabled: $open }}
|
|
>
|
|
<slot />
|
|
</div>
|