{"version":3,"file":"icon.mjs","sources":["../../../../../../packages/components/icon/src/icon.vue"],"sourcesContent":["<template>\n  <i\n    :class=\"[ns.b(), ns.is('loading', loading)]\"\n    :style=\"style\"\n    v-bind=\"$attrs\"\n    data-test-name=\"icon\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n  >\n    <slot />\n  </i>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { addUnit, isUndefined } from '@bigin/utils'\nimport { useNamespace } from '@bigin/hooks'\nimport { iconProps } from './icon'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n  name: 'BIcon',\n  inheritAttrs: false,\n})\nconst props = defineProps(iconProps)\nconst ns = useNamespace('icon')\n\nconst style = computed<CSSProperties>(() => {\n  const { size, color } = props\n  if (!size && !color) return {}\n\n  return {\n    fontSize: isUndefined(size) ? undefined : addUnit(size),\n    '--color': color,\n  }\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAoBc,CAAA;AAAA,EACZ,IAAM,EAAA,OAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAEM,IAAA,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAExB,IAAA,MAAA,KAAA,GAAQ,SAAwB,MAAM;AACpC,MAAA,MAAA,EAAE,IAAM,EAAA,KAAA,EAAU,GAAA,KAAA,CAAA;AACpB,MAAA,IAAA,CAAC,QAAQ,CAAC,KAAA;AAAO,QAAA,OAAO,EAAC,CAAA;AAEtB,MAAA,OAAA;AAAA,QACL,UAAU,WAAY,CAAA,IAAI,CAAI,GAAA,KAAA,CAAA,GAAY,QAAQ,IAAI,CAAA;AAAA,QACtD,SAAW,EAAA,KAAA;AAAA,OACb,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;"}