Add an id to PopoverOverlay

This commit is contained in:
Ryan Gossiaux
2021-12-28 15:12:16 -10:00
parent 5bff629363
commit d9117431d6

View File

@@ -6,12 +6,14 @@
import type { SupportedAs } from "$lib/internal/elements"; import type { SupportedAs } from "$lib/internal/elements";
import type { HTMLActionArray } from "$lib/hooks/use-actions"; import type { HTMLActionArray } from "$lib/hooks/use-actions";
import Render, { Features } from "$lib/utils/Render.svelte"; import Render, { Features } from "$lib/utils/Render.svelte";
import { useId } from "$lib/hooks/use-id";
const forwardEvents = forwardEventsBuilder(get_current_component()); const forwardEvents = forwardEventsBuilder(get_current_component());
export let as: SupportedAs = "div"; export let as: SupportedAs = "div";
export let use: HTMLActionArray = []; export let use: HTMLActionArray = [];
let api = usePopoverContext("PopoverOverlay"); let api = usePopoverContext("PopoverOverlay");
let id = `headlessui-popover-overlay-${useId()}`;
let openClosedState = useOpenClosed(); let openClosedState = useOpenClosed();
@@ -25,10 +27,13 @@
} }
$: slotProps = { open: $api.popoverState === PopoverStates.Open }; $: slotProps = { open: $api.popoverState === PopoverStates.Open };
$: propsWeControl = { id };
</script> </script>
<Render <Render
{...$$restProps} {...$$restProps}
{...propsWeControl}
{as} {as}
{slotProps} {slotProps}
use={[...use, forwardEvents]} use={[...use, forwardEvents]}