From 5eb9584797af8fadf186e8823093b009b96be985 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Fri, 17 Apr 2026 16:30:41 +0300 Subject: [PATCH] feat(TypographyMenu): add bindable "open" prop to close popover from outside --- .../ui/TypographyMenu/TypographyMenu.svelte | 14 ++++++++------ .../ComparisonView/ui/SliderArea/SliderArea.svelte | 6 +++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/features/SetupFont/ui/TypographyMenu/TypographyMenu.svelte b/src/features/SetupFont/ui/TypographyMenu/TypographyMenu.svelte index e9e320a..0bd8555 100644 --- a/src/features/SetupFont/ui/TypographyMenu/TypographyMenu.svelte +++ b/src/features/SetupFont/ui/TypographyMenu/TypographyMenu.svelte @@ -1,7 +1,6 @@ @@ -37,14 +36,17 @@ interface Props { * @default false */ hidden?: boolean; + /** + * Bindable popover open state + * @default false + */ + open?: boolean; } -const { class: className, hidden = false }: Props = $props(); +let { class: className, hidden = false, open = $bindable(false) }: Props = $props(); const responsive = getContext('responsive'); -let isOpen = $state(false); - /** * Sets the common font size multiplier based on the current responsive state. */ @@ -70,7 +72,7 @@ $effect(() => { {#if !hidden} {#if responsive.isMobileOrTablet} - + {#snippet child({ props })}