{toolTitle(tool)}

{toolDescription(tool)}

{#if errorText} {/if} 0} hasMask={hasMask} bind:showMask bind:values pipetteTargetId={pipetteTargetId} handleFile={handleFile} onTextSubmit={handleTextSubmit} onSourceError={(e) => (errorText = errorMessage(e))} reset={reset} toggleChain={toggleChain} handlePipetteToggle={handlePipetteToggle} handlePickColor={handlePickColor} showError={showError} errorMessage={errorMessage} />
{#each chain as step, index (step.id)} {#if step.toolId === ''}

{t('toolPage.stepHeading', { n: index + 2 })}

applyChainTool(index, id)} />
{:else if getTool(step.toolId)} {@const stepTool = getTool(step.toolId)!} {#if stageVariant === 'inline'} {@const StepIcon = TOOL_ICONS[stepTool.id]} removeChainStep(index)} onError={showError} onAddStep={addChainStep} onRemoveChain={removeChain} > {#snippet header()} {#if StepIcon} {/if} {t('chain.stepLabel', { n: index + 2, title: toolTitle(stepTool) })} {/snippet} {:else} removeChainStep(index)} onError={showError} onAddStep={addChainStep} onRemoveChain={removeChain} /> {/if} {/if} {/each}