{{#let (element (or @as 'li')) as |Tag|}}
  <Tag
    role='option'
    id={{this.guid}}
    tabindex='-1'
    {{this.registerOption}}
    {{this.scroll this.shouldScroll @scrollIntoView}}
    {{on 'focus' (fn @setActiveOption this)}}
    {{on 'mouseover' (fn @setActiveOption this)}}
    {{on 'mouseout' @unsetActiveOption}}
    {{on 'click' this.handleClick}}
    aria-selected={{if this.isSelected 'true'}}
    disabled={{if @disabled true false}}
    ...attributes
  >
    {{yield
      (hash
        active=this.isActive
        selected=this.isSelected
        disabled=(if @disabled true false)
      )
    }}
  </Tag>
{{/let}}