{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/cig-dialog/src/index.vue"],"sourcesContent":["<template>\n  <el-dialog\n    ref=\"cigDialog\"\n    :custom-class=\"\n      'cig-dialog' +\n      (scrollBorder ? ' scroll-dialog' : '') +\n      ' ' +\n      ($attrs.class ? $attrs.class : '')\n    \"\n    :append-to-body=\"attrs.appendToBody || true\"\n    :model-value=\"modelValue\"\n    :show-close=\"false\"\n    destroy-on-close\n    v-bind=\"attrs\"\n    @close=\"close\"\n  >\n    <template #header>\n      <slot name=\"title\">\n        <span class=\"el-dialog__title\">{{ title }}</span>\n      </slot>\n    </template>\n    <slot />\n    <template #footer>\n      <slot name=\"footer\">\n        <span>\n          <el-button @click=\"close\">{{\n            cancelTitle || t('el.popconfirm.cancelButtonText')\n          }}</el-button>\n          <el-button type=\"primary\" :loading=\"loading\" @click=\"ok\">{{\n            okTitle || t('el.popconfirm.confirmButtonText')\n          }}</el-button>\n        </span>\n      </slot>\n    </template>\n  </el-dialog>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, watch } from 'vue'\nimport { ElDialog } from '@park-ui/components/dialog'\nimport { ElButton } from '@park-ui/components/button'\nimport { useLocale } from '@park-ui/hooks'\n\nexport default defineComponent({\n  name: 'ElCigDialog',\n  components: {\n    ElDialog,\n    ElButton,\n  },\n  props: {\n    modelValue: {\n      type: Boolean,\n      required: true,\n    },\n    cancelTitle: {\n      type: String,\n    },\n    okTitle: {\n      type: String,\n    },\n    title: {\n      type: String,\n    },\n    onCancel: {\n      type: Function,\n    },\n    scrollBorder: {\n      type: Boolean,\n    },\n  },\n  emits: ['update:modelValue', 'onClose', 'ok'],\n  setup(props, { attrs, emit }) {\n    const { t } = useLocale()\n    // init here\n    const loading = ref(false)\n    function close() {\n      if (!props.onCancel) {\n        emit('update:modelValue', false)\n        emit('onClose')\n      }\n      props.onCancel && props.onCancel()\n    }\n    function ok() {\n      loading.value = true\n      emit('ok')\n      setTimeout(() => {\n        loading.value = false // 1.5秒后自动释放按钮loading\n      }, 1500) // 只限制1.5秒防止连续点击,\n    }\n    watch(\n      () => props.modelValue,\n      (newV) => {\n        if (!newV && loading.value) {\n          // 如果外部设置了false and loading = true 需要重置按钮状态\n          loading.value = false\n        }\n      }\n    )\n\n    return {\n      attrs,\n      t,\n      ok,\n      close,\n      loading,\n    }\n  },\n})\n</script>\n"],"names":["_openBlock","_createBlock","_mergeProps","_withCtx","_renderSlot","_createElementVNode","_toDisplayString","_createVNode","_createTextVNode"],"mappings":"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"}