{"version":3,"file":"icon2.mjs","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<template>\n  <img\n    v-if=\"props.src\"\n    :src=\"props.src\"\n    alt=\"\"\n    :class=\"ns.b()\"\n    :style=\"style\"\n    v-bind=\"$attrs\"\n  />\n  <i v-else :class=\"ns.b()\" :style=\"style\" v-bind=\"$attrs\">\n    <slot />\n  </i>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { addUnit, isUndefined } from '@park-ui/utils'\nimport { useAttrs, useNamespace } from '@park-ui/hooks'\nimport { iconProps } from './icon'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n  name: 'ElIcon',\n  inheritAttrs: false,\n})\n\nconst props = defineProps(iconProps)\nconst attrs: any = useAttrs()\nconst ns = useNamespace('icon')\n\nconst style = computed<CSSProperties>(() => {\n  if (!props.size && !props.color) return {}\n\n  return {\n    fontSize: isUndefined(props.size) ? undefined : addUnit(props.size),\n    '--color': props.color,\n    filter: props.src\n      ? `drop-shadow(0 0 0 ${\n          props.color || (attrs.style && attrs.style.color)\n        })`\n      : undefined,\n  }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAA,aAAA,MAAA,CAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAA,SAAA,MAAA;AACA,MAAA,IAAA,CAAA,KAAA,CAAA,IAAA,IAAA,CAAA,KAAA,CAAA,KAAA;AAAA,QAAA,OAAA,EAAA,CAAA;AAEA,MAAA,OAAA;AAAA,QACA,QAAA,EAAA,YAAA,KAAA,CAAA,IAAA,IAAA,KAAA,CAAA,GAAA,OAAA,CAAA,MAAA,IAAA,CAAA;AAAA,QACA,WAAA,KAAA,CAAA,KAAA;AAAA,QACA,MAAA,EAAA,KAAA,CAAA,GAAA,GACA,CACA,kBAAA,EAAA,KAAA,CAAA,SAAA,KAAA,CAAA,KAAA,IAAA,KAAA,CAAA,KAAA,CAAA,KAEA,CAAA,CAAA,CAAA,GAAA,KAAA,CAAA;AAAA,OACA,CAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;"}