{"version":3,"file":"result.vue2.mjs","sources":["../../../components/result/result.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Icon } from '@/components/icon'\nimport { Renderer } from '@/components/renderer'\n\nimport { computed } from 'vue'\n\nimport { createIconProp, createSizeProp, useIcons, useNameHelper, useProps } from '@vexip-ui/config'\nimport { resultProps } from './props'\nimport { resultTypes } from './symbol'\n\nimport type { ResultSlots } from './symbol'\n\ndefineOptions({ name: 'Result' })\n\nconst _props = defineProps(resultProps)\nconst props = useProps('result', _props, {\n  title: '',\n  size: createSizeProp(),\n  type: {\n    default: 'primary',\n    validator: value => resultTypes.includes(value)\n  },\n  icon: createIconProp(),\n  iconColor: '',\n  description: '',\n  slots: () => ({})\n})\n\nconst slots = defineSlots<ResultSlots>()\n\nconst nh = useNameHelper('result')\nconst icons = useIcons()\n\nconst predefinedIcons = computed(() => ({\n  primary: icons.value.info,\n  info: icons.value.info,\n  success: icons.value.success,\n  warning: icons.value.warning,\n  error: icons.value.error\n}))\n\nconst iconComp = computed(() => {\n  return props.icon ? { icon: props.icon } : predefinedIcons.value[props.type]\n})\nconst hasTitle = computed(() => !!(slots.title || props.title || props.slots.title))\nconst hasIcon = computed(() => !!(slots.icon || props.type || props.icon || props.slots.icon))\nconst hasDescription = computed(\n  () => !!(slots.description || props.description || props.slots.description)\n)\nconst className = computed(() => {\n  return {\n    [nh.b()]: true,\n    [nh.bs('vars')]: true,\n    [nh.bm('inherit')]: props.inherit,\n    [nh.bm(props.type)]: props.type,\n    [nh.bm(props.size)]: props.size !== 'default'\n  }\n})\nconst style = computed(() => {\n  if (props.iconColor) {\n    return nh.cvm({\n      'icon-color': props.iconColor\n    })\n  }\n\n  return {}\n})\n</script>\n\n<template>\n  <div :class=\"className\" :style=\"style\">\n    <div v-if=\"hasIcon\" :class=\"nh.be('icon')\">\n      <slot name=\"icon\">\n        <Renderer :renderer=\"props.slots.icon\">\n          <Icon v-bind=\"iconComp\" :class=\"nh.be('icon')\" :style=\"{ color: props.iconColor }\"></Icon>\n        </Renderer>\n      </slot>\n    </div>\n    <div v-if=\"hasTitle\" :class=\"nh.be('title')\">\n      <slot name=\"title\">\n        <Renderer :renderer=\"props.slots.title\">\n          {{ props.title }}\n        </Renderer>\n      </slot>\n    </div>\n    <div v-if=\"hasDescription\" :class=\"nh.be('description')\">\n      <slot name=\"description\">\n        <Renderer :renderer=\"props.slots.description\">\n          {{ props.description }}\n        </Renderer>\n      </slot>\n    </div>\n    <div v-if=\"slots.extra || props.slots.extra\" :class=\"nh.be('extra')\">\n      <slot name=\"extra\">\n        <Renderer :renderer=\"props.slots.extra\"></Renderer>\n      </slot>\n    </div>\n  </div>\n</template>\n"],"names":["props","useProps","__props","createSizeProp","value","resultTypes","createIconProp","slots","_useSlots","nh","useNameHelper","icons","useIcons","predefinedIcons","computed","iconComp","hasTitle","hasIcon","hasDescription","className","style"],"mappings":";;;;;;;;;;;;;AAeM,UAAAA,IAAQC,EAAS,UADRC,GAC0B;AAAA,MACvC,OAAO;AAAA,MACP,MAAMC,EAAe;AAAA,MACrB,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW,CAAAC,MAASC,EAAY,SAASD,CAAK;AAAA,MAChD;AAAA,MACA,MAAME,EAAe;AAAA,MACrB,WAAW;AAAA,MACX,aAAa;AAAA,MACb,OAAO,OAAO,CAAC;AAAA,IAAA,CAChB,GAEKC,IAAQC,EAAA,GAERC,IAAKC,EAAc,QAAQ,GAC3BC,IAAQC,EAAS,GAEjBC,IAAkBC,EAAS,OAAO;AAAA,MACtC,SAASH,EAAM,MAAM;AAAA,MACrB,MAAMA,EAAM,MAAM;AAAA,MAClB,SAASA,EAAM,MAAM;AAAA,MACrB,SAASA,EAAM,MAAM;AAAA,MACrB,OAAOA,EAAM,MAAM;AAAA,IAAA,EACnB,GAEII,IAAWD,EAAS,MACjBd,EAAM,OAAO,EAAE,MAAMA,EAAM,KAAS,IAAAa,EAAgB,MAAMb,EAAM,IAAI,CAC5E,GACKgB,IAAWF,EAAS,MAAM,CAAC,EAAEP,EAAM,SAASP,EAAM,SAASA,EAAM,MAAM,MAAM,GAC7EiB,IAAUH,EAAS,MAAM,CAAC,EAAEP,EAAM,QAAQP,EAAM,QAAQA,EAAM,QAAQA,EAAM,MAAM,KAAK,GACvFkB,IAAiBJ;AAAA,MACrB,MAAM,CAAC,EAAEP,EAAM,eAAeP,EAAM,eAAeA,EAAM,MAAM;AAAA,IACjE,GACMmB,IAAYL,EAAS,OAClB;AAAA,MACL,CAACL,EAAG,EAAE,CAAC,GAAG;AAAA,MACV,CAACA,EAAG,GAAG,MAAM,CAAC,GAAG;AAAA,MACjB,CAACA,EAAG,GAAG,SAAS,CAAC,GAAGT,EAAM;AAAA,MAC1B,CAACS,EAAG,GAAGT,EAAM,IAAI,CAAC,GAAGA,EAAM;AAAA,MAC3B,CAACS,EAAG,GAAGT,EAAM,IAAI,CAAC,GAAGA,EAAM,SAAS;AAAA,IACtC,EACD,GACKoB,IAAQN,EAAS,MACjBd,EAAM,YACDS,EAAG,IAAI;AAAA,MACZ,cAAcT,EAAM;AAAA,IAAA,CACrB,IAGI,CAAC,CACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}