@customElement and typescript types

According to the Aurelia documentation, @customElement takes an “name” property. The usage in the documentation implies that this property is optional:

import {useView, customElement} from 'aurelia-templating';
  import {IconButton} from './icon-button';
  export class AddButton extends IconButton {
      this.icon = 'plus';
      this.onClick = this.add;
      alert('Base add button');

Typescript doesn’t like that, though, and requires that you have an element name defined:


I ask because of component inheritance requires @customElement to be defined on the subclass when other Aurelia properties exist on the superclass, such as @bindable properties. See github PR and this question.

Is the documentation wrong, or the Typescript type definition?

I don’t see any problem with inheritance, or in the typescript definition.

When leaving out the name, I meant: