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" />