{"version":3,"file":"index.mjs","sources":["../../../../../hooks/use-tag/index.ts"],"sourcesContent":["import type { CSSProperties, ComputedRef } from 'vue'\nimport { computed } from 'vue'\nimport { TinyColor } from '@ctrl/tinycolor'\nimport type { TagProps } from '../../components/tag/src/tag'\n\nexport type ClassList = (string | Record<string, unknown>)[]\n\nexport interface UseTagReturn {\n  classList: ComputedRef<ClassList>\n  styleList: ComputedRef<CSSProperties>\n}\n\nexport const UseTag = (prop: TagProps): UseTagReturn => {\n  /** 类名列表 */\n  const classList = computed((): ClassList => {\n    const arr = []\n    if (prop.round)\n      arr.push('is-round')\n\n    return [\n      'fn-tag',\n      `fn-tag--${prop.type}`,\n      `fn-tag--${prop.size}`,\n      ...arr,\n    ]\n  })\n\n  /** 样式列表 */\n  const styleList = computed((): CSSProperties => {\n    const { color } = prop\n    const style: CSSProperties = {}\n\n    if (color) {\n      const lighterColor = new TinyColor(color)\n      style['--fn-tag-bg-color'] = lighterColor.tint(70).toString()\n      style['--fn-tag-text-color'] = color\n      style['--fn-tag-border-color'] = lighterColor.tint(60).toString()\n    }\n    return style\n  })\n\n  return {\n    styleList,\n    classList,\n  }\n}\n"],"names":[],"mappings":";;;;AAYa,MAAA,MAAA,GAAS,CAAC,IAAiC,KAAA;AAEtD,EAAM,MAAA,SAAA,GAAY,SAAS,MAAiB;AAC1C,IAAA,MAAM,MAAM,EAAC,CAAA;AACb,IAAA,IAAI,IAAK,CAAA,KAAA;AACP,MAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAErB,IAAO,OAAA;AAAA,MACL,QAAA;AAAA,MACA,CAAA,QAAA,EAAW,KAAK,IAAI,CAAA,CAAA;AAAA,MACpB,CAAA,QAAA,EAAW,KAAK,IAAI,CAAA,CAAA;AAAA,MACpB,GAAG,GAAA;AAAA,KACL,CAAA;AAAA,GACD,CAAA,CAAA;AAGD,EAAM,MAAA,SAAA,GAAY,SAAS,MAAqB;AAC9C,IAAM,MAAA,EAAE,OAAU,GAAA,IAAA,CAAA;AAClB,IAAA,MAAM,QAAuB,EAAC,CAAA;AAE9B,IAAA,IAAI,KAAO,EAAA;AACT,MAAM,MAAA,YAAA,GAAe,IAAI,SAAA,CAAU,KAAK,CAAA,CAAA;AACxC,MAAA,KAAA,CAAM,mBAAmB,CAAI,GAAA,YAAA,CAAa,IAAK,CAAA,EAAE,EAAE,QAAS,EAAA,CAAA;AAC5D,MAAA,KAAA,CAAM,qBAAqB,CAAI,GAAA,KAAA,CAAA;AAC/B,MAAA,KAAA,CAAM,uBAAuB,CAAI,GAAA,YAAA,CAAa,IAAK,CAAA,EAAE,EAAE,QAAS,EAAA,CAAA;AAAA,KAClE;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}