sba-icon-button.vue 1.46 KB
Newer Older
Johannes Edmeier committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!--
  - Copyright 2014-2018 the original author or authors.
  -
  - Licensed under the Apache License, Version 2.0 (the "License");
  - you may not use this file except in compliance with the License.
  - You may obtain a copy of the License at
  -
  -     http://www.apache.org/licenses/LICENSE-2.0
  -
  - Unless required by applicable law or agreed to in writing, software
  - distributed under the License is distributed on an "AS IS" BASIS,
  - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  - See the License for the specific language governing permissions and
  - limitations under the License.
  -->

<template>
    <button type="button" class="icon-button" :disabled="disabled">
19
        <font-awesome-icon :icon="icon" :size="size" :class="iconClass"></font-awesome-icon>
Johannes Edmeier committed
20 21 22 23 24
    </button>
</template>

<script>
  export default {
25
    props: ['disabled', 'icon', 'size', 'icon-class']
Johannes Edmeier committed
26 27 28 29
  }
</script>

<style lang="scss">
30
    @import "~@/assets/css/utilities";
Johannes Edmeier committed
31 32 33 34 35

    .icon-button {
        background: none;
        border: none;
        padding: 0;
36 37
        font-size: 1em;
        color: inherit;
Johannes Edmeier committed
38 39 40

        &:not([disabled]) {
            cursor: pointer;
41

Johannes Edmeier committed
42
            &:hover {
43 44 45 46 47
                color: $black;
            }

            & svg {
                fill: currentcolor;
Johannes Edmeier committed
48 49 50 51
            }
        }

        &:disabled {
52
            opacity: 0.5;
Johannes Edmeier committed
53 54 55 56 57 58 59 60
            pointer-events: none;
        }

        &:active {
            outline: none;
        }
    }
</style>