{"version":3,"file":"index.mjs","sources":["../../../../src/components/Button/index.vue"],"sourcesContent":["<template>\n  <Component\n    :is=\"(tag as any)\"\n    :disabled=\"disabled\"\n    class=\"flex items-center justify-center font-medium\"\n    :class=\"[\n      variantStyles && disabled\n        ? ' bg-gray-900/5 text-gray-900/40 dark:bg-white/10 dark:text-white/50'\n        : undefined,\n      variantStyles && !disabled\n        ? variantStyles + ' ring-opacity-50 focus:ring'\n        : undefined,\n      condensed ? 'h-8 gap-2 px-3' : ' h-10 gap-3 px-4',\n      rounded ? 'rounded-full' : 'rounded-md',\n    ]\"\n  >\n    <slot name=\"raw\">\n      <div v-if=\"$slots.prefix\" :class=\"[loading ? 'invisible' : 'visible']\">\n        <slot tag=\"div\" name=\"prefix\" />\n      </div>\n\n      <span\n        :class=\"[loading ? 'invisible' : 'visible']\"\n        class=\"whitespace-no-wrap inline-block truncate align-top\"\n      >\n        <slot />\n      </span>\n      <div v-if=\"$slots.suffix\" :class=\"[loading ? 'invisible' : 'visible']\">\n        <slot tag=\"div\" name=\"suffix\" />\n      </div>\n\n      <RobustSpinner\n        v-if=\"loading\"\n        :size=\"condensed ? 16 : 20\"\n        class=\"absolute\"\n      />\n    </slot>\n  </Component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, PropType, toRefs } from 'vue';\nimport RobustSpinner from '../Spinner/index.vue';\nimport variants from './variants';\nimport { MaybeRef } from '@vueuse/core';\n\nconst props = defineProps({\n  tag: {\n    type: String,\n    default: 'button',\n  },\n  loading: {\n    type: Boolean,\n    default: false,\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  rounded: {\n    type: Boolean,\n    default: false,\n  },\n  variant: {\n    type: [String, Boolean] as PropType<string | false>,\n    default: 'primary',\n  },\n  condensed: {\n    type: Boolean,\n    default: false,\n  },\n});\n\nconst { loading, variant } = toRefs(props);\n\nconst variantStyles = computed<string>(() => {\n  if (variant.value === false) {\n    return undefined;\n  }\n\n  return variants[variant.value];\n});\n</script>\n"],"names":["props","__props","loading","variant","toRefs","variantStyles","computed","variants"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,UAAMA,IAAQC,GA2BR,EAAE,SAAAC,GAAS,SAAAC,EAAQ,IAAIC,EAAOJ,CAAK,GAEnCK,IAAgBC,EAAiB,MAAM;AACvC,UAAAH,EAAQ,UAAU;AAIf,eAAAI,EAASJ,EAAQ,KAAK;AAAA,IAAA,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}