@switch (currentPropertyState()) {
  @case (readState) {
    <span class="editable">{{ property().descriptor.preview }}</span>
  }
  @case (writeState) {
    <div class="value-input">
      <input
        #inputEl
        matInput
        type="text"
        (mousedown)="$event.stopPropagation()"
        [(ngModel)]="valueToSubmit"
        (keydown.enter)="accept()"
        (keydown.escape)="reject()"
        (focus)="onFocus()"
        (blur)="onBlur()"
        placeholder="Property value"
      />
      <span class="text-span">{{ valueToSubmit() }}</span>
    </div>
  }
}
