{{#if delegateKey}}
  <button type="button"
          aria-label="{{label}}"
          aria-pressed="{{pressable ? !!pressed : ''}}"
          class="{{computedClass}}"
          :disabled
          delegate-key="{{delegateKey}}" >
    <svg>
      <use xlink:href="{{href}}" />
    </svg>
  </button>
{{else}}
  <button type="button"
          aria-label="{{label}}"
          aria-pressed="{{pressable ? !!pressed : ''}}"
          class="{{computedClass}}"
          :disabled
          on:click >
    <svg>
      <use xlink:href="{{href}}" />
    </svg>
  </button>
{{/if}}
<style>
  button.icon-button {
    padding: 6px 10px;
    background: none;
    border: none;
  }

  button.icon-button svg {
    width: 24px;
    height: 24px;
    fill: var(--action-button-fill-color);
  }

  button.icon-button.big-icon svg {
    width: 32px;
    height: 32px;
  }

  button.icon-button:hover svg {
    fill: var(--action-button-fill-color-hover);
  }

  button.icon-button.not-pressable:active svg {
    fill: var(--action-button-fill-color-active);
  }

  button.icon-button.pressed svg {
    fill: var(--action-button-fill-color-pressed)
  }

  button.icon-button.pressed:hover svg {
    fill: var(--action-button-fill-color-pressed-hover);
  }

  button.icon-button.pressed:active svg {
    fill: var(--action-button-fill-color-pressed-active);
  }
</style>
<script>
  import identity from 'lodash/identity'

  export default {
    computed: {
      computedClass: (pressable, pressed, big, className) => {
        return [
          'icon-button',
          !pressable && 'not-pressable',
          pressed && 'pressed',
          big && 'big-icon',
          className
        ].filter(identity).join(' ')
      }
    }
  }
</script>