{#each list as item, order (item[key])} (source = { order, id: item[key] }) && start(e, source.id)} on:dragover|preventDefault={() => over({ order, id: item[key] })} on:dragleave={leave} on:dragenter|preventDefault={() => null} on:drop|preventDefault={() => reorder(source, { order, id: item[key] })} animate:flip={{ duration: source !== null ? 300 : 0 }} class:over={item[key] === isOver} > {/each}