icon.vue 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <script lang="ts" setup>
  2. defineProps({
  3. name: {
  4. type: String,
  5. required: true
  6. }
  7. });
  8. </script>
  9. <template>
  10. <svg
  11. v-if="name === 'play'"
  12. viewBox="0 0 24 24"
  13. height="24"
  14. xmlns="http://www.w3.org/2000/svg"
  15. >
  16. <path d="M8 5v14l11-7z" fill="currentColor" />
  17. </svg>
  18. <svg
  19. v-else-if="name === 'stop'"
  20. xmlns="http://www.w3.org/2000/svg"
  21. viewBox="0 0 24 24"
  22. height="24"
  23. >
  24. <path
  25. fill="currentColor"
  26. d="M8 16h8V8H8zm4 6q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22"
  27. />
  28. </svg>
  29. <svg
  30. v-else-if="name === 'horizontal'"
  31. viewBox="0 0 24 24"
  32. height="24"
  33. xmlns="http://www.w3.org/2000/svg"
  34. >
  35. <path d="M2,12 L22,12" stroke="currentColor" stroke-width="2" />
  36. <path
  37. d="M7,7 L2,12 L7,17"
  38. stroke="currentColor"
  39. stroke-width="2"
  40. fill="none"
  41. />
  42. <path
  43. d="M17,7 L22,12 L17,17"
  44. stroke="currentColor"
  45. stroke-width="2"
  46. fill="none"
  47. />
  48. </svg>
  49. <svg
  50. v-else-if="name === 'vertical'"
  51. viewBox="0 0 24 24"
  52. height="24"
  53. xmlns="http://www.w3.org/2000/svg"
  54. >
  55. <path d="M12,2 L12,22" stroke="currentColor" stroke-width="2" />
  56. <path
  57. d="M7,7 L12,2 L17,7"
  58. stroke="currentColor"
  59. stroke-width="2"
  60. fill="none"
  61. />
  62. <path
  63. d="M7,17 L12,22 L17,17"
  64. stroke="currentColor"
  65. stroke-width="2"
  66. fill="none"
  67. />
  68. </svg>
  69. <svg
  70. v-else-if="name === 'shuffle'"
  71. xmlns="http://www.w3.org/2000/svg"
  72. viewBox="0 0 24 24"
  73. height="24"
  74. >
  75. <path
  76. fill="currentColor"
  77. d="M14 20v-2h2.6l-3.175-3.175L14.85 13.4L18 16.55V14h2v6zm-8.6 0L4 18.6L16.6 6H14V4h6v6h-2V7.4zm3.775-9.425L4 5.4L5.4 4l5.175 5.175z"
  78. />
  79. </svg>
  80. </template>