{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/confirmable-button/src/index.vue"],"sourcesContent":["<template>\n  <hl-popover\n    trigger=\"click\"\n    :show-arrow=\"false\"\n    placement=\"top\"\n    v-bind=\"popoverProps\"\n    @after-enter=\"popoverShown\"\n    @after-leave=\"popoverHidden\"\n  >\n    <slot name=\"tip\">\n      {{ tip }}\n    </slot>\n    <template #reference>\n      <hl-button v-bind=\"state\" :class=\"`${prefix}-confirmable-button`\" @click=\"handleClick\">\n        <slot></slot>\n      </hl-button>\n    </template>\n  </hl-popover>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue'\nimport { HlButton, HlPopover } from 'hongluan-ui'\nimport { usePrefix } from '@hongluan-business-ui/utils/util'\n\nexport default defineComponent({\n  name: 'ConfirmableButton',\n  components: {\n    HlButton,\n    HlPopover,\n  },\n  props: {\n    tip: {\n      type: String,\n      default: '',\n    },\n    popoverProps: {\n      type: Object,\n      default: () => ({}),\n    },\n    defaultState: {\n      type: Object,\n      default: () => ({\n        type: 'link',\n      }),\n    },\n    confirmState: {\n      type: Object,\n      default: () => ({\n        type: 'danger',\n      }),\n    },\n\n  },\n  emits: ['confirm'],\n  setup(props, { emit }) {\n    const { prefix } = usePrefix()\n    const visible = ref(false)\n    const state = computed(() => visible.value ? props.confirmState : props.defaultState)\n\n    const popoverShown = () => {\n      visible.value = true\n    }\n    const popoverHidden = () => {\n      visible.value = false\n    }\n    const handleClick = () => {\n      if (visible.value) {\n        emit('confirm')\n      }\n    }\n\n    return {\n      prefix,\n      visible,\n      state,\n      popoverShown,\n      popoverHidden,\n      handleClick,\n    }\n  },\n})\n</script>\n"],"names":["_createBlock","_mergeProps","_withCtx","_createVNode","_renderSlot"],"mappings":";;;;;AAyBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,OAAO;AAAA,IACL,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAO;AAAA,IAElB,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAO,QACd,MAAM;AAAA;AAAA;AAAA,IAGV,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAO,QACd,MAAM;AAAA;AAAA;AAAA;AAAA,EAKZ,OAAO,CAAC;AAAA,EACR,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,WAAW;AACnB,UAAM,UAAU,IAAI;AACpB,UAAM,QAAQ,SAAS,MAAM,QAAQ,QAAQ,MAAM,eAAe,MAAM;AAExE,UAAM,eAAe,MAAM;AACzB,cAAQ,QAAQ;AAAA;AAElB,UAAM,gBAAgB,MAAM;AAC1B,cAAQ,QAAQ;AAAA;AAElB,UAAM,cAAc,MAAM;AACxB,UAAI,QAAQ,OAAO;AACjB,aAAK;AAAA;AAAA;AAIT,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA;;;;sBA7EJA,YAgBa,uBAhBbC,WAgBa;AAAA,IAfX,SAAQ;AAAA,IACP,cAAY;AAAA,IACb,WAAU;AAAA,KACF,mBAAY;AAAA,IACnB,cAAa;AAAA,IACb,cAAa;AAAA;IAKH,WAASC,QAClB,MAEY;AAAA,MAFZC,YAEY,sBAFZF,WAAmB,KAEP,OAFY;AAAA,QAAG,OAAK,GAAK;AAAA,QAA8B,SAAO;AAAA;yBACxE,MAAa;AAAA,UAAbG,WAAa;AAAA;AAAA;;;qBALjB,MAEO;AAAA,MAFPA,WAEO,wBAFP,MAEO;AAAA,wCADF,WAAG;AAAA;AAAA;AAAA;;;;;;;"}