<template>
  <span
    v-bind="$attrs"
    :aria-hidden="title ? null : true"
    :aria-label="title"
    class="material-design-icon babel-icon"
    role="img"
    @click="$emit('click', $event)"
  >
    <svg
      :fill="fillColor"
      class="material-design-icon__svg"
      :width="size"
      :height="size"
      viewBox="0 0 24 24"
    >
      <path d="M15.14 2C13.8 2.12 12.04 2.59 9.87 3.43C9.28 3.87 8.6 4.3 7.84 4.72V4.85C7.9 4.85 7.96 4.81 8.04 4.77C8.13 4.76 8.19 4.79 8.19 4.88L8.32 4.8L8.39 4.79L8.4 4.86C8.41 4.92 7.93 5.29 7 5.96L7.06 6.09H7L6.84 6.04C6.84 6.09 6.78 6.11 6.64 6.12L6.65 6.19L6.81 6.37C6.75 6.37 6.68 6.36 6.6 6.32C6.29 6.35 6 6.58 5.69 7L5.77 7.12C6.03 6.88 6.18 6.76 6.22 6.76L6.24 6.95C6.2 6.95 6.12 7 6.04 7.03L6.2 7.27C6.5 6.93 6.86 6.64 7.24 6.41C7.43 6.46 7.53 6.5 7.53 6.58L7.67 6.57C8.69 5.81 9.71 5.27 10.71 4.93L10.72 5.06C10.53 5.34 10.4 5.5 10.33 5.5C10.34 5.59 10.38 5.67 10.43 5.74C10.45 5.92 10 7.06 9.07 9.19C6.95 14.13 5.19 17.78 3.77 20.16C3.77 20.2 3.8 20.27 3.85 20.35C4.2 20.26 4.42 20.18 4.5 20.1L4.6 20.09L4.61 20.22L4.74 20.21L4.88 20.13C4.88 20.18 4.93 20.19 5 20.18L5.03 20.31C5.03 20.45 4.96 20.65 4.8 20.92C4.65 21.08 4.5 21.42 4.34 21.94V22H4.47C5.04 21.35 5.5 20.72 5.78 20.11C7.44 19.62 8.71 19.15 9.59 18.67C10.47 18.6 11.15 18.37 11.61 18L11.6 17.91L11.27 18H11.19L11.18 17.95C11.83 17.85 12.28 17.7 12.5 17.5C13.79 16.54 14.74 15.85 15.39 15.44C17.39 13.97 18.33 12.55 18.22 11.21C18.21 11.07 17.76 10.5 16.9 9.56C16.88 9.38 17.19 9.12 17.8 8.77L19.53 7.24C19.92 6.74 20.15 5.94 20.23 4.83L20.2 4.57C20.14 3.79 19.58 3.16 18.5 2.68C17.88 2.25 16.76 2.03 15.14 2M17.24 2.87C18.53 2.92 19.19 3.14 19.23 3.55L19.18 3.68L17.24 2.87M16 3.96C16.89 3.95 17.35 4.18 17.4 4.68L17.5 4.67V4.34L17.64 4.33C18 4.5 18.16 4.74 18.18 5C18.2 5.2 18.1 5.42 17.89 5.69C17.8 5.7 17.75 5.64 17.74 5.5H17.6L17.56 5.91C17 6.78 16.56 7.23 16.3 7.26C16.06 7.58 15.91 7.75 15.85 7.75C15.67 7.97 15.17 8.35 14.35 8.87C14.08 8.9 13.07 9.28 11.34 10.04C11.25 10 11.16 10 11.06 10L11.05 9.88C11.03 9.62 11.14 9.31 11.39 8.92C11.5 8.21 11.67 7.8 11.83 7.7L13.28 4.44C13.27 4.24 13.57 4.09 14.21 4L14.42 3.96L14.44 4.15C15.06 4.05 15.45 4 15.6 4C15.74 3.97 15.88 3.96 16 3.96M19 4.29H19.04C19.16 4.3 19.28 4.5 19.41 4.91L19.42 5.03C19.35 5.04 19.22 4.83 19.03 4.41L19 4.29M10.82 6.36H10.88L10.9 6.55C10.84 6.56 10.75 6.65 10.65 6.83L10.64 6.7C10.76 6.55 10.82 6.43 10.82 6.36M6.67 6.46L6.68 6.5C6.63 6.5 6.56 6.56 6.5 6.6L6.41 6.61L6.39 6.5L6.67 6.46M10.24 7.72L10.26 8H10.19L10.16 7.73L10.24 7.72M10.07 8.19C10.05 8.41 10 8.5 9.89 8.53L9.82 8.54C9.9 8.39 9.94 8.29 9.93 8.21L10.07 8.19M9.78 8.87L9.79 8.93L9.67 9.14L9.54 9.15L9.53 9.09C9.66 9.08 9.72 9 9.71 8.88L9.78 8.87M9.5 9.5L9.45 9.81H9.38L9.36 9.5H9.5M16.57 9.72L16.85 9.89C16.86 10 16.82 10.03 16.73 10.04C16.61 9.96 16.5 9.93 16.44 9.93L16.43 9.73L16.57 9.72M11 10.46L11.03 10.58L10.76 10.61L10.75 10.5L11 10.46M15.5 10.91C15.68 11 15.78 11.09 15.79 11.16L15.8 11.22C15.61 11.24 15.45 11.14 15.29 10.93L15.5 10.91M17.66 11.12C17.81 11.18 17.88 11.25 17.89 11.31L17.93 11.82C17.87 11.96 17.81 12.03 17.74 12.03L17.66 11.12M14.16 11.18C14.86 11.17 15.4 11.33 15.76 11.68L15.79 11.94C15.5 12.85 15.13 13.38 14.75 13.54L13 14.93C11.7 15.79 11 16.21 10.9 16.22C8.83 17.36 7.54 17.95 7.04 18H6.96C7.03 17.76 7.95 15.87 9.73 12.33C10.5 12.26 11.76 11.89 13.44 11.23L13.85 11.19C13.96 11.19 14.06 11.18 14.16 11.18M11.62 11.59L11.63 11.65L11.35 11.67L11.34 11.61L11.62 11.59M7.26 15.81C7.17 16.26 7.08 16.5 7 16.5L6.97 16.43C6.95 16.2 7.05 16 7.26 15.81M13.18 16.09L13.19 16.21C13.2 16.27 13 16.43 12.6 16.72C11.44 17.29 10.76 17.68 10.56 17.88C9.3 18.32 8.68 18.59 8.69 18.69C7.57 19.14 6.84 19.46 6.5 19.66C6.41 19.67 6.29 19.63 6.13 19.56C6.12 19.34 6.21 19.15 6.44 19C6.63 19 6.82 19 7 19.09C7.21 19 7.57 18.87 8.08 18.74L8.07 18.61L7.66 18.65C7.71 18.58 8.11 18.4 8.86 18.09L9.07 18.07L9.08 18.13C8.73 18.16 8.53 18.27 8.5 18.46C8.5 18.53 8.53 18.58 8.62 18.57C8.87 18.39 9 18.3 9 18.27C9.5 18.18 10.9 17.44 13.18 16.09M6.86 16.69L6.87 16.75C6.88 16.84 6.83 16.89 6.74 16.9V16.84C6.73 16.76 6.77 16.71 6.86 16.69M10 17.5C10.07 17.47 10.12 17.5 10.12 17.58C9.96 17.6 9.65 17.73 9.19 18H9.12L9.11 17.87C9.44 17.84 9.73 17.71 9.97 17.5H10M6.95 18.5L6.96 18.58C6.9 18.58 6.84 18.61 6.75 18.66L6.62 18.67C6.61 18.61 6.65 18.55 6.74 18.53L6.95 18.5M5.35 19.3L5.5 19.36C5.44 19.76 5.33 19.96 5.13 20C4.97 19.91 4.83 19.88 4.7 19.89L4.68 19.7C4.67 19.62 4.72 19.57 4.82 19.55C4.9 19.54 4.95 19.6 4.96 19.73C5.2 19.44 5.33 19.3 5.35 19.3Z">
        <title v-if="title">{{ title }}</title>
      </path>
    </svg>
  </span>
</template>

<script>
export default {
  name: 'BabelIcon',
  props: {
    title: {
      type: String,
      default: null
    },
    fillColor: {
      type: String,
      default: 'currentColor'
    },
    size: {
      type: Number,
      default: 24
    }
  },
  emits: [ 'click' ]
};
</script>