{#snippet renderNestedItems(items: SelectItem[], depth = 0)} {#each items as item}
{#if item.children && item.children.length > 0}
{@render renderNestedItems(item.children, depth + 1)}
{/if} {/each} {/snippet}
isOpen = true} onHide={() => { isOpen = false; hoveredItem = null; }} syncWidth={true} syncWidthMode="min" placement="bottom" >
{#if type === 'ref'}
{#if selectedItem}
{#if selectedItem.nodeType && nodeIcons[selectedItem.nodeType]} {@html nodeIcons[selectedItem.nodeType]} {/if} {selectedItem.displayLabel || selectedItem.label}
{:else}
{placeholder}
{/if}
{:else}
onTextChange?.((e.target as HTMLInputElement).value)} onclick={(e) => e.stopPropagation()} />
{/if}
{#snippet floating()}
{#each refOptions as item} {/each}
{#if hoveredItem && hoveredItem.children && hoveredItem.children.length > 0}
{@render renderNestedItems(hoveredItem.children)}
{/if}
{/snippet}