hongluan-business-ui
Version:
Hongluan Business Component Library for Vue 3
1 lines • 3.07 kB
Source Map (JSON)
{"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;;;;;;;"}