{"version":3,"file":"UiButton.vue.1b560381.js","sources":["../../../../composables/useStoryblokHelpers.ts","../../../../storyblok/Ui/UiButton.vue"],"sourcesContent":["export function useStoryblokHelpers() {\n  const { query } = useRoute()\n\n  const isStoryblokEditor = computed(() => !!query._storyblok)\n\n  return { isStoryblokEditor }\n}\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { useStoryblokHelpers } from '~~/composables/useStoryblokHelpers'\nimport type { UiButton } from '~~/types/storyblok/ui'\n\nconst props = defineProps<{\n  blok: UiButton\n}>()\n\nconst { isStoryblokEditor } = useStoryblokHelpers()\n\nconst sizeClass = computed(() => {\n  return props?.blok?.size ? `button--${props?.blok?.size}` : 'button--sm'\n})\n\nconst themeClass = computed(() => {\n  return props?.blok?.theme ? `button--${props?.blok?.theme}` : 'theme-blue'\n})\n\nconst url = computed(() => {\n  switch (props.blok.link.linktype) {\n    case 'story':\n      return props.blok.link?.story?.full_slug\n        ? '/' + props.blok.link.story?.full_slug\n        : '/'\n    case 'url':\n    case 'asset':\n      return props.blok.link.url\n    case 'email':\n      return 'mailto:' + props.blok.link.email\n    default:\n      return '#'\n  }\n})\n\nconst anchor = computed(() => {\n  return props?.blok?.link?.anchor ? `#${props.blok.link.anchor}` : ''\n})\n\nconst useIcon = computed(() => {\n  switch (props.blok.link.linktype) {\n    case 'story':\n      return 'arrow_right_alt'\n    case 'url':\n    case 'asset':\n      return 'north_east'\n    case 'email':\n      return 'outgoing_mail'\n    default:\n      return 'arrow_right_alt'\n  }\n})\n\nconst linkTo = computed(() => {\n  return isStoryblokEditor.value ? '' : url.value + anchor.value\n})\n</script>\n\n<template lang=\"pug\">\nNuxtLink(\n  :to=\"linkTo\"\n  class=\"button\"\n  :class=\"[sizeClass, themeClass]\"\n  v-editable=\"blok\"\n)\n  span {{ blok.label }}\n  MaterialSymbol(v-if=\"!props.blok.hideIcon\") {{ useIcon }}\n</template>\n"],"names":["useStoryblokHelpers","query","useRoute","computed","isStoryblokEditor","sizeClass","_a","props","_b","themeClass","url","_c","anchor","useIcon","linkTo"],"mappings":"2LAAO,SAAAA,GAAA,CACL,KAAA,CAAA,MAAAC,GAAAC,IAIA,MAAA,CAAA,kBAFAC,EAAA,IAAA,CAAA,CAAAF,EAAA,UAAA,CAEA,CACF,mECGA,CAAA,kBAAAG,GAAAJ,IAEAK,EAAAF,EAAA,IAAA,SACE,OAAAG,EAAAC,GAAA,YAAAA,EAAA,OAAA,MAAAD,EAAA,KAAA,YAAAE,EAAAD,GAAA,YAAAA,EAAA,OAAA,YAAAC,EAAA,OAAA,YAA4D,CAAA,EAG9DC,EAAAN,EAAA,IAAA,SACE,OAAAG,EAAAC,GAAA,YAAAA,EAAA,OAAA,MAAAD,EAAA,MAAA,YAAAE,EAAAD,GAAA,YAAAA,EAAA,OAAA,YAAAC,EAAA,QAAA,YAA8D,CAAA,EAGhEE,EAAAP,EAAA,IAAA,WACE,OAAAI,EAAA,KAAA,KAAA,SAAA,CAAkC,IAAA,QAE9B,OAAAC,GAAAF,EAAAC,EAAA,KAAA,OAAA,YAAAD,EAAA,QAAA,MAAAE,EAAA,UAAA,MAAAG,EAAAJ,EAAA,KAAA,KAAA,QAAA,YAAAI,EAAA,WAAA,IAEI,IAAA,MACD,IAAA,QAEH,OAAAJ,EAAA,KAAA,KAAA,IAAuB,IAAA,QAEvB,MAAA,UAAAA,EAAA,KAAA,KAAA,MAAmC,QAEnC,MAAA,GAAO,CACX,CAAA,EAGFK,EAAAT,EAAA,IAAA,SACE,OAAAK,GAAAF,EAAAC,GAAA,YAAAA,EAAA,OAAA,YAAAD,EAAA,OAAA,MAAAE,EAAA,OAAA,IAAAD,EAAA,KAAA,KAAA,SAAA,EAAkE,CAAA,EAGpEM,EAAAV,EAAA,IAAA,CACE,OAAAI,EAAA,KAAA,KAAA,SAAA,CAAkC,IAAA,QAE9B,MAAA,kBAAO,IAAA,MACJ,IAAA,QAEH,MAAA,aAAO,IAAA,QAEP,MAAA,gBAAO,QAEP,MAAA,iBAAO,CACX,CAAA,EAGFO,EAAAX,EAAA,IACEC,EAAA,MAAA,GAAAM,EAAA,MAAAE,EAAA,KAAyD"}