{"version":3,"file":"index.mjs","sources":["../../../../src/components/ConfirmationModal/index.vue"],"sourcesContent":["<template>\n  <RobustModal v-model:opened=\"open\" :size=\"size\">\n    <template #title>\n      <slot name=\"title\"> Confirm </slot>\n    </template>\n    <div class=\"p-6\">\n      <div v-if=\"!$slots.body\" class=\"mb-8\">\n        <slot name=\"description\">\n          {{ props.description }}\n        </slot>\n      </div>\n      <div class=\"flex justify-end gap-2\">\n        <slot name=\"cancel\" :cancel=\"cancel\">\n          <RobustButton\n            variant=\"muted\"\n            class=\"uppercase\"\n            @click.capture.stop.prevent=\"cancel\"\n          >\n            Cancel\n          </RobustButton>\n        </slot>\n        <slot name=\"confirm\" :confirm=\"confirm\">\n          <RobustButton\n            variant=\"danger\"\n            class=\"uppercase\"\n            @click.capture.stop.prevent=\"confirm\"\n          >\n            Proceed\n          </RobustButton>\n        </slot>\n      </div>\n    </div>\n  </RobustModal>\n  <slot :click=\"handleClick\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { PropType, ref } from 'vue';\nimport { RobustButton, RobustModal } from '..';\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: 'danger',\n  },\n  description: {\n    type: String,\n    default: 'Are you sure you want to proceed with this action?',\n  },\n  condensed: {\n    type: Boolean,\n    default: false,\n  },\n  size: {\n    type: String,\n    default: () => 'sm',\n  },\n});\n\nconst emit = defineEmits(['confirm', 'cancel', 'update:opened']);\n\nconst confirm = () => {\n  open.value = false;\n  emit('update:opened', false);\n  emit('confirm');\n};\n\nconst cancel = () => {\n  open.value = false;\n  emit('update:opened', false);\n  emit('cancel');\n};\n\nconst open = ref(false);\n\nconst handleClick = (e: MouseEvent) => {\n  if (e.shiftKey) {\n    return confirm();\n  }\n  emit('update:opened', true);\n  open.value = true;\n};\n\ndefineExpose({\n  click: handleClick,\n  open,\n});\n</script>\n"],"names":["props","__props","emit","__emit","confirm","open","cancel","ref","handleClick","__expose"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,UAAMA,IAAQC,GAmCRC,IAAOC,GAEPC,IAAU,MAAM;AACpB,MAAAC,EAAK,QAAQ,IACbH,EAAK,iBAAiB,EAAK,GAC3BA,EAAK,SAAS;AAAA,IAAA,GAGVI,IAAS,MAAM;AACnB,MAAAD,EAAK,QAAQ,IACbH,EAAK,iBAAiB,EAAK,GAC3BA,EAAK,QAAQ;AAAA,IAAA,GAGTG,IAAOE,EAAI,EAAK,GAEhBC,IAAc,CAAC,MAAkB;AACrC,UAAI,EAAE;AACJ,eAAOJ,EAAQ;AAEjB,MAAAF,EAAK,iBAAiB,EAAI,GAC1BG,EAAK,QAAQ;AAAA,IAAA;AAGF,WAAAI,EAAA;AAAA,MACX,OAAOD;AAAA,MACP,MAAAH;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}