{"version":3,"file":"Icon.mjs","sources":["../../../../../../packages/components/icon/src/Icon.vue"],"sourcesContent":["<template>\n  <svg\n    :class=\"[prefixCls, $attrs.class, spin && 'svg-icon-spin']\"\n    :style=\"getStyle\"\n    aria-hidden=\"true\"\n  >\n    <use :xlink:href=\"symbolId\" />\n  </svg>\n</template>\n<script lang=\"ts\" setup>\nimport type { CSSProperties } from 'vue'\nimport { computed } from 'vue'\nimport { iconProps } from './icon'\nimport { useDesign } from '@tni-plus/hooks'\n\ndefineOptions({\n  name: 'TpIcon',\n  inheritAttrs: false,\n})\n\nconst { prefixCls } = useDesign('svg-icon')\nconst props = defineProps(iconProps)\nconst symbolId = computed(() => `#${props.prefix}-${props.name}`)\n\nconst getStyle = computed((): CSSProperties => {\n  const { size } = props\n  let s = `${size}`\n  s = `${s.replace('px', '')}px`\n  return {\n    width: s,\n    height: s,\n  }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;mCAec,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAEA,IAAA,MAAM,EAAE,SAAA,EAAc,GAAA,SAAA,CAAU,UAAU,CAAA,CAAA;AAE1C,IAAA,MAAM,WAAW,QAAS,CAAA,MAAM,IAAI,KAAM,CAAA,MAAA,CAAA,CAAA,EAAU,MAAM,IAAM,CAAA,CAAA,CAAA,CAAA;AAE1D,IAAA,MAAA,QAAA,GAAW,SAAS,MAAqB;AACvC,MAAA,MAAA,EAAE,MAAS,GAAA,KAAA,CAAA;AACjB,MAAA,IAAI,IAAI,CAAG,EAAA,IAAA,CAAA,CAAA,CAAA;AACX,MAAA,CAAA,GAAI,CAAG,EAAA,CAAA,CAAE,OAAQ,CAAA,IAAA,EAAM,EAAE,CAAA,CAAA,EAAA,CAAA,CAAA;AAClB,MAAA,OAAA;AAAA,QACL,KAAO,EAAA,CAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,OACV,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;"}