1
0
Fork 0
mirror of synced 2024-09-18 02:08:34 +12:00
budibase/packages/bbui/src/Menu/Item.svelte

46 lines
954 B
Svelte
Raw Normal View History

2021-04-13 02:26:26 +12:00
<script>
import { createEventDispatcher, getContext } from "svelte"
const dispatch = createEventDispatcher()
const actionMenu = getContext("actionMenu")
export let dataCy
export let icon = undefined
export let disabled = undefined
export let noClose = false
const onClick = () => {
if (actionMenu && !noClose) {
actionMenu.hide()
}
dispatch("click")
}
2021-04-13 02:26:26 +12:00
</script>
<li
data-cy={dataCy}
on:click|preventDefault={disabled ? null : onClick}
class="spectrum-Menu-item"
class:is-disabled={disabled}
role="menuitem"
tabindex="0"
>
{#if icon}
<svg
2021-05-07 02:33:28 +12:00
class="spectrum-Icon spectrum-Icon--sizeS spectrum-Menu-itemIcon"
focusable="false"
aria-hidden="true"
aria-label={icon}
>
<use xlink:href="#spectrum-icon-18-{icon}" />
</svg>
{/if}
<span class="spectrum-Menu-itemLabel"><slot /></span>
</li>
2021-05-07 19:36:05 +12:00
<style>
.spectrum-Menu-itemIcon {
align-self: center;
}
</style>