43 lines
1.1 KiB
Handlebars
43 lines
1.1 KiB
Handlebars
{{yield}}
|
|
<li role="none" ...attributes>
|
|
{{#if hasConfirmation}}
|
|
<label for={{concat menu.confirm guid}} role="menuitem" tabindex="-1" onkeypress={{menu.keypressClick}}>
|
|
<YieldSlot @name="label">{{yield}}</YieldSlot>
|
|
</label>
|
|
<div role="menu">
|
|
<YieldSlot @name="confirmation" @params={{
|
|
block-params (component 'confirmation-alert'
|
|
onclick=(queue (action onclick) (action menu.clickTrigger))
|
|
name=(concat menu.confirm guid)
|
|
)
|
|
}}>{{yield}}</YieldSlot>
|
|
</div>
|
|
{{else if href}}
|
|
{{#let (string-includes href '://') as |external|}}
|
|
<a
|
|
role="menuitem" tabindex="-1"
|
|
onclick={{action menu.clickTrigger}}
|
|
href={{href}}
|
|
target={{if external '_blank'}}
|
|
rel={{if external 'noopener noreferrer'}}
|
|
>
|
|
<YieldSlot @name="label">
|
|
{{yield}}
|
|
</YieldSlot>
|
|
</a>
|
|
{{/let}}
|
|
{{else}}
|
|
<button
|
|
type="button"
|
|
role="menuitem"
|
|
aria-selected={{if selected 'true'}}
|
|
tabindex="-1"
|
|
onclick={{action (or this.onclick (noop))}}>
|
|
<YieldSlot @name="label">
|
|
{{yield}}
|
|
</YieldSlot>
|
|
</button>
|
|
{{/if}}
|
|
</li>
|
|
|