fr-icon-six.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <fr-svg @click="onClick" :uuid="`fr-icon-six-${size}${strokeWidth}${theme}${fill}${strokeLinecap}${strokeLinejoin}`" :width="size" :height="size" :isCache="true" :src="iconSvg" />
  3. </template>
  4. <script>
  5. // #ifdef UNI-APP-X
  6. import icons from "../../mixins/icons.uts";
  7. // #endif
  8. // #ifndef UNI-APP-X
  9. import icons from "../../mixins/icons.js";
  10. // #endif
  11. /**
  12. * @description 《六》图标
  13. * @tutorial https://www.flowerui.com/documents/flower-icons/icons.html
  14. * @property {Number} size 图标大小
  15. * @property {Number} strokeWidth 线段粗细
  16. * @property {String} theme 图标大小
  17. * @property {Array} fill 图标颜色,["外部描边颜色","外部填充颜色","内部描边颜色","内部填充颜色"]
  18. * @property {String} strokeLinecap 图标大小
  19. * @property {String} strokeLinejoin 图标大小
  20. * @event {Function} click 图标点击事件
  21. */
  22. export default {
  23. mixins: [icons],
  24. computed: {
  25. // #ifdef UNI-APP-X
  26. iconSvg(): string {
  27. // #endif
  28. // #ifndef UNI-APP-X
  29. iconSvg() {
  30. // #endif
  31. return `<?xml version="1.0" encoding="UTF-8"?><svg width="${this.size}" height="${this.size}" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.9995 41C13.4995 38.25 8.0008 30 5.00014 25C1.99947 20 8.31271 15.3125 11.9999 19C15.6871 22.6875 15.9999 23 15.9999 23V17.5C15.9999 15.567 17.5669 14 19.4999 14C21.4329 14 22.9999 15.567 22.9999 17.5V16C22.9999 14.067 24.5669 12.5 26.4999 12.5C28.4329 12.5 29.9999 14.067 29.9999 16V17.5C29.9999 15.567 31.5669 14 33.4999 14C35.4329 14 36.9999 15.567 36.9999 17.5V7.5C36.9999 5.567 38.5669 4 40.4999 4C42.4329 4 43.9999 5.567 43.9999 7.5V28.9663C43.9999 30.9689 43.6297 32.9743 42.5445 34.6573C41.2626 36.6453 39.1111 39.3028 35.9995 41C30.4994 44 24.4995 43.75 18.9995 41Z" fill="${this.colors(1)}" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/></svg>`
  32. }
  33. }
  34. }
  35. </script>