{"version":3,"file":"Alerts.cjs","sources":["../../common/Alerts/Alerts.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { VNode } from \"vue\";\n\nimport { Icon } from \"../Icon\";\nimport type { AlertClassesKey, AlertsProps } from \"./types\";\n\ndefineSlots<{\n  alertIcon(): VNode;\n  alertHeading(): VNode;\n  alertMessage(): VNode;\n  dismissableIcon(): VNode;\n  ctaPrimaryIcon(): VNode;\n}>();\n\nconst {\n  variant = \"default\",\n  showClearIcon = false,\n  inlineMessage = false,\n  showIcon = false,\n  clearIcon = \"x-solid-icon\",\n  alertIcon = \"exclamation-circle-solid-icon\",\n  ctaPrimaryIcon = \"eye-solid-icon\",\n  heading = \"\",\n  message = \"\",\n  ctaButton = { primary: { name: \"\" }, secondary: { name: \"\" } },\n  id = \"\",\n  classes = {} as Partial<Record<AlertClassesKey, string>>,\n} = defineProps<AlertsProps>();\n\nconst emits = defineEmits<{\n  (e: \"onClear\"): void;\n  (e: \"onPrimaryBtnClick\"): void;\n  (e: \"onSecondaryBtnClick\"): void;\n}>();\n</script>\n\n<template>\n  <div :id=\"id\" :class=\"[`alert-${variant}`, classes?.container]\" role=\"alert\">\n    <div :class=\"['flex items-center', classes?.inlineMsgContainer]\">\n      <span v-if=\"showIcon\">\n        <Icon v-if=\"!$slots?.alertIcon\" :name=\"alertIcon\" class=\"mr-2 w-5\" size=\"20\" />\n        <template v-else-if=\"$slots?.alertIcon\">\n          <slot name=\"alertIcon\" />\n        </template>\n      </span>\n      <h3 v-if=\"!$slots?.alertHeading\" :class=\"['text-lg font-medium', classes?.heading]\">\n        {{ heading }}\n      </h3>\n      <slot v-if=\"$slots?.alertHeading\" name=\"alertHeading\" />\n      <span v-if=\"!$slots?.alertMessage && message && (inlineMessage || !heading)\" :class=\"['text-sm', heading && 'pt-1 pl-2', classes?.message]\">{{\n        message\n      }}</span>\n      <slot v-if=\"$slots?.alertMessage && (inlineMessage || !heading)\" name=\"alertMessage\" />\n      <button\n        v-if=\"showClearIcon\"\n        type=\"button\"\n        :class=\"['-mx-1.5 ml-auto inline-flex bg-transparent', classes?.clearIcon]\"\n        data-dismiss-target=\"#alert-1\"\n        aria-label=\"Close\"\n        @click=\"emits('onClear')\"\n      >\n        <span class=\"sr-only\">Close</span>\n        <Icon v-if=\"!$slots?.dismissableIcon\" :name=\"clearIcon\" />\n        <template v-else-if=\"$slots?.dismissableIcon\">\n          <slot name=\"dismissableIcon\" />\n        </template>\n      </button>\n    </div>\n    <div\n      v-if=\"!$slots?.alertMessage && message && !inlineMessage && heading\"\n      :class=\"[heading && 'mt-2', 'text-sm font-normal', (ctaButton?.primary?.name || ctaButton?.secondary?.name) && 'mb-4', classes?.message]\"\n    >\n      {{ message }}\n    </div>\n    <slot v-if=\"$slots?.alertMessage && !inlineMessage && heading\" name=\"alertMessage\" />\n    <div v-if=\"ctaButton?.primary?.name || ctaButton?.secondary?.name\" :class=\"['flex', inlineMessage && 'mt-4', classes?.ctaBtnContainer]\">\n      <button\n        v-if=\"ctaButton.primary?.name\"\n        type=\"button\"\n        :class=\"[`alert-cta-primary-${variant}`, classes?.ctaPrimaryBtn]\"\n        @click=\"emits('onPrimaryBtnClick')\"\n      >\n        <Icon v-if=\"!$slots?.ctaPrimaryIcon\" :name=\"ctaPrimaryIcon\" :class=\"['mr-2 w-5', classes?.ctaPrimaryBtnIcon || '']\" size=\"20\" />\n        <template v-else-if=\"$slots?.ctaPrimaryIcon\">\n          <slot name=\"ctaPrimaryIcon\" />\n        </template>\n        {{ ctaButton.primary?.name }}\n      </button>\n      <button\n        v-if=\"ctaButton?.secondary?.name\"\n        type=\"button\"\n        :class=\"[`alert-cta-secondary-${variant}`, classes?.ctaSecondaryBtn]\"\n        data-dismiss-target=\"#`${id}`\"\n        aria-label=\"Close\"\n        @click=\"emits('onSecondaryBtnClick')\"\n      >\n        {{ ctaButton?.secondary?.name }}\n      </button>\n    </div>\n  </div>\n</template>\n\n<style scoped>\n@reference \"../../styles/main.css\";\n\n.alert-success {\n  @apply p-4 mb-4 text-app-green-700 rounded-md bg-app-green-100 dark:bg-app-gray-800 dark:text-app-green-400 dark:border dark:border-app-green-900;\n}\n\n.alert-danger {\n  @apply p-4 mb-4 text-app-red-700 rounded-md bg-app-red-100 dark:bg-app-gray-800 dark:text-app-red-500 dark:border dark:border-app-red-900;\n}\n\n.alert-info {\n  @apply p-4 mb-4 text-app-primary-600 rounded-md bg-app-primary-100 dark:bg-app-gray-800 dark:text-app-primary-400 dark:border dark:border-app-primary-900;\n}\n\n.alert-warning {\n  @apply p-4 mb-4 text-app-yellow-700 rounded-md bg-app-yellow-100 dark:bg-app-gray-800 dark:text-app-yellow-400 dark:border dark:border-app-yellow-900;\n}\n\n.alert-default {\n  @apply p-4 mb-4 text-app-gray-900 rounded-md bg-app-gray-100 dark:bg-app-gray-800 dark:text-app-gray-400 dark:border dark:border-app-gray-700;\n}\n\n.alert-cta-primary-success {\n  @apply text-app-white bg-app-green-700 font-medium rounded-lg text-xs px-3 py-1.5 mr-2 text-center inline-flex items-center dark:bg-app-green-600;\n}\n\n.alert-cta-secondary-success {\n  @apply text-app-green-700 bg-transparent border border-app-green-700 font-medium rounded-lg text-xs px-3 py-1.5 text-center dark:text-app-green-600 dark:border-app-green-600;\n}\n\n.alert-cta-primary-info {\n  @apply text-app-white bg-app-primary-600 font-medium rounded-lg text-xs px-3 py-1.5 mr-2 text-center inline-flex items-center dark:bg-app-primary-600;\n}\n\n.alert-cta-secondary-info {\n  @apply text-app-primary-600 bg-transparent border border-app-primary-600 font-medium rounded-lg text-xs px-3 py-1.5 text-center dark:text-app-primary-600 dark:border-app-primary-600;\n}\n\n.alert-cta-primary-warning {\n  @apply text-app-white bg-app-yellow-700 font-medium rounded-lg text-xs px-3 py-1.5 mr-2 text-center inline-flex items-center dark:text-app-gray-800 dark:bg-app-yellow-300;\n}\n\n.alert-cta-secondary-warning {\n  @apply text-app-yellow-700 bg-transparent border border-app-yellow-700 font-medium rounded-lg text-xs px-3 py-1.5 text-center dark:border-app-yellow-300 dark:text-app-yellow-300;\n}\n\n.alert-cta-primary-danger {\n  @apply text-app-white bg-app-red-700 font-medium rounded-lg text-xs px-3 py-1.5 mr-2 text-center inline-flex items-center dark:bg-app-red-600;\n}\n\n.alert-cta-secondary-danger {\n  @apply text-app-red-700 bg-transparent border border-app-red-700 font-medium rounded-lg text-xs px-3 py-1.5 text-center dark:border-app-red-600 dark:text-app-red-600;\n}\n\n.alert-cta-primary-default {\n  @apply text-app-white bg-app-gray-700 font-medium rounded-lg text-xs px-3 py-1.5 mr-2 text-center inline-flex items-center dark:bg-app-gray-800 dark:text-app-gray-400 dark:border dark:border-app-gray-700;\n}\n\n.alert-cta-secondary-default {\n  @apply text-app-gray-700 bg-transparent border border-app-gray-700 font-medium rounded-lg text-xs px-3 py-1.5 text-center dark:border-app-gray-400 dark:text-app-gray-400;\n}\n</style>\n"],"names":["emits","__emit","_createElementBlock","__props","_normalizeClass","_createElementVNode","_hoisted_2","$slots","_renderSlot","_ctx","_createBlock","_unref","Icon","_cache","_createTextVNode","_toDisplayString"],"mappings":"stBA6BA,MAAMA,EAAQC,8BAQZC,EAAAA,mBA8DM,MAAA,CA9DA,GAAIC,EAAA,GAAK,MAAKC,EAAAA,eAAA,CAAA,SAAYD,EAAA,OAAO,GAAIA,EAAA,SAAS,SAAS,CAAA,EAAG,KAAK,OAAA,GACnEE,EAAAA,mBA6BM,MAAA,CA7BA,MAAKD,EAAAA,eAAA,CAAA,oBAAwBD,EAAA,SAAS,kBAAkB,CAAA,CAAA,GAChDA,EAAA,wBAAZD,EAAAA,mBAKO,OAAAI,EAAA,CAJQC,EAAAA,QAAQ,UACAA,EAAAA,QAAQ,UAC3BC,aAAyBC,EAAA,OAAA,YAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA,6CAF3BC,cAA+EC,EAAAA,MAAAC,EAAAA,SAAA,EAAA,OAA9C,KAAMT,EAAA,UAAW,MAAM,WAAW,KAAK,IAAA,mDAK/DI,EAAAA,QAAQ,wDAAnBL,EAAAA,mBAEK,KAAA,OAF6B,MAAKE,EAAAA,eAAA,CAAA,sBAA0BD,EAAA,SAAS,OAAO,CAAA,CAAA,oBAC5EA,EAAA,OAAO,EAAA,CAAA,GAEAI,EAAAA,QAAQ,aAApBC,EAAAA,WAAwDC,EAAA,OAAA,eAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA,8BAC3CF,CAAAA,EAAAA,QAAQ,cAAgBJ,YAAYA,EAAA,gBAAkBA,EAAA,wBAAnED,EAAAA,mBAES,OAAA,OAFqE,MAAKE,EAAAA,eAAA,CAAA,UAAcD,EAAA,SAAO,YAAiBA,EAAA,SAAS,OAAO,CAAA,CAAA,oBACvIA,EAAA,OAAO,EAAA,CAAA,+BAEGI,EAAAA,QAAQ,eAAiBJ,EAAA,gBAAkBA,EAAA,SAAvDK,EAAAA,WAAuFC,EAAA,OAAA,eAAA,CAAA,IAAA,GAAA,OAAA,EAAA,8BAE/EN,EAAA,6BADRD,EAAAA,mBAaS,SAAA,OAXP,KAAK,SACJ,MAAKE,EAAAA,eAAA,CAAA,6CAAiDD,EAAA,SAAS,SAAS,CAAA,EACzE,sBAAoB,WACpB,aAAW,QACV,uBAAOH,EAAK,SAAA,EAAA,GAEba,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAR,EAAAA,mBAAkC,OAAA,CAA5B,MAAM,SAAA,EAAU,QAAK,EAAA,GACdE,EAAAA,QAAQ,gBACAA,EAAAA,QAAQ,gBAC3BC,aAA+BC,EAAA,OAAA,kBAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA,6CAFjCC,cAA0DC,EAAAA,MAAAC,EAAAA,SAAA,EAAA,OAAnB,KAAMT,EAAA,SAAA,yDAOxCI,CAAAA,EAAAA,QAAQ,cAAgBJ,WAAO,CAAKA,EAAA,eAAiBA,EAAA,uBAD9DD,EAAAA,mBAKM,MAAA,OAHH,wBAAQC,EAAA,SAAO,OAAA,uBAAoCA,EAAA,WAAW,SAAS,MAAQA,EAAA,WAAW,WAAW,OAAI,OAAaA,EAAA,SAAS,OAAO,CAAA,CAAA,oBAEpIA,EAAA,OAAO,EAAA,CAAA,+BAEAI,EAAAA,QAAQ,cAAY,CAAKJ,EAAA,eAAiBA,EAAA,QAAtDK,EAAAA,WAAqFC,EAAA,OAAA,eAAA,CAAA,IAAA,GAAA,OAAA,EAAA,8BAC1EN,EAAA,WAAW,SAAS,MAAQA,EAAA,WAAW,WAAW,oBAA7DD,EAAAA,mBAuBM,MAAA,OAvB8D,MAAKE,EAAAA,eAAA,CAAA,OAAWD,EAAA,eAAa,OAAYA,EAAA,SAAS,eAAe,CAAA,CAAA,GAE3HA,EAAA,UAAU,SAAS,oBAD3BD,EAAAA,mBAWS,SAAA,OATP,KAAK,SACJ,MAAKE,EAAAA,eAAA,CAAA,qBAAwBD,EAAA,OAAO,GAAIA,EAAA,SAAS,aAAa,CAAA,EAC9D,uBAAOH,EAAK,mBAAA,EAAA,GAEAO,EAAAA,QAAQ,eACAA,EAAAA,QAAQ,eAC3BC,aAA8BC,EAAA,OAAA,iBAAA,CAAA,IAAA,CAAA,EAAA,OAAA,EAAA,6CAFhCC,cAAgIC,EAAAA,MAAAC,EAAAA,SAAA,EAAA,OAA1F,KAAMT,EAAA,eAAiB,MAAKC,EAAAA,eAAA,CAAA,WAAeD,EAAA,SAAS,mBAAiB,EAAA,CAAA,EAAS,KAAK,IAAA,4BAG9GW,EAAAA,gBAAA,IACXC,kBAAGZ,EAAA,UAAU,SAAS,IAAI,EAAA,CAAA,CAAA,kCAGpBA,EAAA,WAAW,WAAW,oBAD9BD,EAAAA,mBASS,SAAA,OAPP,KAAK,SACJ,MAAKE,EAAAA,eAAA,CAAA,uBAA0BD,EAAA,OAAO,GAAIA,EAAA,SAAS,eAAe,CAAA,EACnE,sBAAoB,WACpB,aAAW,QACV,uBAAOH,EAAK,qBAAA,EAAA,oBAEVG,EAAA,WAAW,WAAW,IAAI,EAAA,CAAA"}