Files
eewing cf73cd3b4c INIT
2026-02-17 14:10:16 -06:00

28 lines
793 B
Svelte

<script lang="ts">
import { boxWith } from "svelte-toolbelt";
import type { MenubarMenuProps } from "../types.js";
import { MenubarMenuState } from "../menubar.svelte.js";
import Menu from "../../menu/components/menu.svelte";
import { noop } from "../../../internal/noop.js";
import { createId } from "../../../internal/create-id.js";
const uid = $props.id();
let { value = createId(uid), onOpenChange = noop, ...restProps }: MenubarMenuProps = $props();
const menuState = MenubarMenuState.create({
value: boxWith(() => value),
onOpenChange: boxWith(() => onOpenChange),
});
</script>
<Menu
open={menuState.open}
onOpenChange={(open) => {
if (!open) menuState.root.onMenuClose();
}}
dir={menuState.root.opts.dir.current}
_internal_variant="menubar"
{...restProps}
/>