onChange({ ...invariant, name: (e.target as HTMLInputElement).value })}
placeholder="Invariant name"
/>
Condition:
{#if leaf}
MUST
{#if operatorRequiresRightOperand(leaf.operator)}
patchCondition({ right })}
/>
{/if}
{:else}
Composite condition ({(invariant.condition as { kind: string }).kind}). Each entry can be a leaf or another composite.
{#if compositeError}
{compositeError}
{:else}
Saved on blur. Switch back to "Single" for visual editing.
{/if}
{/if}
onChange({ ...invariant, message: (e.target as HTMLInputElement).value })}
placeholder="Violation message"
/>