hongluan-business-ui
Version:
Hongluan Business Component Library for Vue 3
1 lines • 3.79 kB
Source Map (JSON)
{"version":3,"file":"popconfirm2.mjs","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <hl-tooltip\n ref=\"tooltipRef\"\n trigger=\"click\"\n :effect=\"effect\"\n v-bind=\"$attrs\"\n :popper-class=\"`${HlPrefix}-popover ${popperClass}`\"\n :popper-style=\"style\"\n :teleported=\"compatTeleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n :persistent=\"persistent\"\n >\n <template #content>\n <div :class=\"`${prefix}-popconfirm`\">\n <div class=\"main\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n <div class=\"action\">\n <hl-button size=\"sm\" :type=\"cancelButtonType\" @click=\"cancel\">\n {{ finalCancelButtonText }}\n </hl-button>\n <hl-button size=\"sm\" :type=\"confirmButtonType\" @click=\"confirm\">\n {{ finalConfirmButtonText }}\n </hl-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\"></slot>\n </template>\n </hl-tooltip>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, unref } from 'vue'\nimport { HlButton, HlTooltip, useLocale, PREFIX as HlPrefix, useDeprecateAppendToBody } from 'hongluan-ui'\nimport { usePrefix } from '@hongluan-business-ui/utils/util'\nimport { addUnit } from '@hongluan-business-ui/utils/dom'\nimport { popconfirmProps } from './popconfirm'\n\nexport default defineComponent({\n name: 'Popconfirm',\n components: {\n HlButton,\n HlTooltip,\n },\n inheritAttrs: false,\n props: popconfirmProps,\n setup(props) {\n const { prefix } = usePrefix()\n const { t } = useLocale()\n const { compatTeleported } = useDeprecateAppendToBody(\n 'Popconfirm',\n 'appendToBody',\n )\n\n const tooltipRef = ref<{ onClose: () => void; }>()\n\n const style = computed(() => {\n return {\n width: addUnit(props.width),\n }\n })\n\n const hidePopper = () => {\n unref(tooltipRef)?.onClose?.()\n }\n\n const handleCallback = () => {\n hidePopper()\n }\n\n const confirm = (e: Event) => {\n props.onConfirm?.(e)\n handleCallback()\n }\n const cancel = (e: Event) => {\n props.onCancel?.(e)\n handleCallback()\n }\n\n const finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('hl.popconfirm.confirmButtonText'),\n )\n const finalCancelButtonText = computed(\n () => props.cancelButtonText || t('hl.popconfirm.cancelButtonText'),\n )\n\n return {\n prefix,\n style,\n HlPrefix: HlPrefix.toLowerCase(),\n tooltipRef,\n compatTeleported,\n\n finalConfirmButtonText,\n finalCancelButtonText,\n\n confirm,\n cancel,\n }\n },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;AA2CA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AAAA,EAEF,cAAc;AAAA,EACd,OAAO;AAAA,EACP,MAAM,OAAO;AACX,UAAM,EAAE,WAAW;AACnB,UAAM,EAAE,MAAM;AACd,UAAM,EAAE,qBAAqB,yBAC3B,cACA;AAGF,UAAM,aAAa;AAEnB,UAAM,QAAQ,SAAS,MAAM;AAC3B,aAAO;AAAA,QACL,OAAO,QAAQ,MAAM;AAAA;AAAA;AAIzB,UAAM,aAAa,MAAM;AACvB,YAAM;AAAa;AAGrB;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAEF,oBAAgB;AACd;AACA;AAAA;AAGF,mCAA+B,SAC7B,MAAM;AAER;AAIA;AAAO;AACL;AACA;AACmB,MACnB;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA;AAAA;AAAA;;;;;;;AArES;AA/BP;AACI;AACC;AACK,IACb,gBAAY;AAAyB,IACrC;AAAc,gBACF;AAAA,IACZ,uBAAqB;AAAA,IACrB,cAAY;AAAA,IACZ,YAAY;AAAA;IAEF,kBACT;AAcM;AAAA;AAdU;;AAKR;AADG;AADG;AAAA;AAAA,2BAUN;AAAA;AAJQ;AAFI;AAAY;AAA0B;;AACzB;AAAH;AAAA;;;AAId,YAFD;AAAK;AAAY;AAA2B;;AACzB;AAAH;AAAA;;;;;;AAOtB;;;;;;;;;;;;"}