diff --git a/src/lib/components/common/Dropdown.svelte b/src/lib/components/common/Dropdown.svelte index 26b5a0a648..7c813bf394 100644 --- a/src/lib/components/common/Dropdown.svelte +++ b/src/lib/components/common/Dropdown.svelte @@ -20,6 +20,9 @@ /** CSS classes for the dropdown content container */ export let contentClass = ''; + /** Max height for the dropdown content */ + export let maxHeight = '18rem'; + /** Side offset in px */ export let sideOffset = 4; @@ -187,6 +190,8 @@ bind:this={contentEl} class={contentClass} role="menu" + style:max-height={maxHeight} + style:overflow-y="auto" transition:flyAndScale on:click={(e) => e.stopPropagation()} on:pointerdown={(e) => e.stopPropagation()} diff --git a/src/lib/components/common/Select.svelte b/src/lib/components/common/Select.svelte index dfdfac0cce..14c10c6282 100644 --- a/src/lib/components/common/Select.svelte +++ b/src/lib/components/common/Select.svelte @@ -24,6 +24,9 @@ export let contentClass = 'rounded-2xl min-w-[170px] p-1 border border-gray-100 dark:border-gray-800 bg-white dark:bg-gray-850 dark:text-white shadow-lg'; + /** Max height for the dropdown content */ + export let maxHeight = '18rem'; + /** CSS classes for each item button */ export let itemClass = 'flex w-full gap-2 items-center px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl'; @@ -123,7 +126,14 @@ {#if open} -
+
{#each items as item}