This commit is contained in:
Timothy Jaeryang Baek 2026-09-28 00:14:36 +04:00
parent af6b82a18c
commit fdae17f8a6
2 changed files with 8 additions and 9 deletions

View file

@ -14,6 +14,9 @@
/** Close when clicking outside */
export let closeOnOutsideClick = true;
/** Close action menus after selection. Submenu triggers prevent the default click. */
export let closeOnSelect = false;
/** Called when open/close state changes */
export let onOpenChange: (state: boolean) => void = () => {};
@ -350,7 +353,10 @@
style:max-height={resolvedMaxHeight}
style:overflow-y="auto"
transition:flyAndScale
on:click={(e) => e.stopPropagation()}
on:click={(e) => {
e.stopPropagation();
if (closeOnSelect && !e.defaultPrevented) closeDropdown();
}}
on:pointerdown={(e) => e.stopPropagation()}
>
<slot name="content" />

View file

@ -45,7 +45,6 @@
export let chatId = '';
export let archived = false;
let dropdown: Dropdown;
let show = false;
let pinned = false;
@ -292,7 +291,7 @@
{/if}
<Dropdown
bind:this={dropdown}
closeOnSelect
bind:show
onOpenChange={(state) => {
if (state) {
@ -313,7 +312,6 @@
draggable="false"
class="flex h-[1.6875rem] gap-2 items-center rounded-xl px-2 text-[0.8125rem] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-900 w-full"
on:click={() => {
dropdown.close();
shareHandler();
}}
>
@ -369,7 +367,6 @@
draggable="false"
class="flex h-[1.6875rem] gap-2 items-center rounded-xl px-2 text-[0.8125rem] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-900 w-full"
on:click={() => {
dropdown.close();
renameHandler();
}}
>
@ -381,7 +378,6 @@
draggable="false"
class="flex h-[1.6875rem] gap-2 items-center rounded-xl px-2 text-[0.8125rem] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-900 w-full"
on:click={() => {
dropdown.close();
markUnreadHandler();
}}
>
@ -395,7 +391,6 @@
draggable="false"
class="flex h-[1.6875rem] gap-2 items-center rounded-xl px-2 text-[0.8125rem] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-900 w-full"
on:click={() => {
dropdown.close();
pinHandler();
}}
>
@ -413,7 +408,6 @@
draggable="false"
class="flex h-[1.6875rem] gap-2 items-center rounded-xl px-2 text-[0.8125rem] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-900 w-full"
on:click={() => {
dropdown.close();
cloneChatHandler();
}}
>
@ -469,7 +463,6 @@
draggable="false"
class="flex h-[1.6875rem] gap-2 items-center rounded-xl px-2 text-[0.8125rem] cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-900 w-full"
on:click={() => {
dropdown.close();
deleteHandler();
}}
>