{"version":3,"file":"modal.vue2.mjs","sources":["../../../../../../packages/components/new-modal/src/modal.vue"],"sourcesContent":["<template>\r\n  <Modal\r\n    v-bind=\"getBindValue\"\r\n    ref=\"modal\"\r\n    :keyboard=\"keyboard\"\r\n    :open=\"open\"\r\n    :wrap-class-name=\"`${bem.b()} ${wrapClassName} ${currentClass}`\"\r\n    @cancel=\"handleCancel\"\r\n    @ok=\"handleOk\"\r\n  >\r\n    <template v-if=\"$slots['closeIcon']\" #closeIcon>\r\n      <slot name=\"closeIcon\" />\r\n    </template>\r\n\r\n    <!-- 头部区域 -->\r\n    <template #title>\r\n      <slot name=\"title\">\r\n        <span>{{ title }}</span>\r\n      </slot>\r\n    </template>\r\n    <!-- 内容区域 -->\r\n    <div ref=\"scrollRef\" :class=\"[bem.e('container')]\">\r\n      <slot />\r\n    </div>\r\n    <!-- 底部区域 -->\r\n    <template v-if=\"showFooter\" #footer>\r\n      <div\r\n        :class=\"`${bem.e('footer')} ${\r\n          isShowContentBottomBox ? bem.e('footer-shadow') : ''\r\n        }`\"\r\n      >\r\n        <slot name=\"footer\">\r\n          <ll-button\r\n            v-if=\"type !== 'confirm'\"\r\n            :label=\"cancelText\"\r\n            size=\"middle\"\r\n            v-bind=\"cancelButtonProps\"\r\n            @click=\"handleCancel\"\r\n          >\r\n          </ll-button>\r\n          <ll-button\r\n            type=\"primary\"\r\n            :loading=\"props.confirmLoading\"\r\n            size=\"middle\"\r\n            :label=\"\r\n              props.confirmText\r\n                ? props.confirmText\r\n                : props.type === 'confirm'\r\n                ? '知道了'\r\n                : '确认'\r\n            \"\r\n            v-bind=\"okButtonProps\"\r\n            @click=\"handleOk\"\r\n          />\r\n        </slot>\r\n      </div>\r\n    </template>\r\n  </Modal>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref, useAttrs } from 'vue'\r\n\r\nimport { LlButton } from '@ll-plus/components'\r\nimport { Modal } from 'ant-design-vue'\r\n\r\nimport { useScroll } from '@ll-plus/hooks'\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { omit } from 'lodash-es'\r\nimport { newModalEmits, newModalProps } from './modal'\r\n\r\nimport type { ModalProps } from 'ant-design-vue'\r\n\r\ndefineOptions({ name: 'LlNewModal' })\r\n\r\n// 1.props/emits\r\nconst props = defineProps(newModalProps)\r\nconst emits = defineEmits(newModalEmits)\r\n\r\n// 2.hooks\r\nconst attrs = useAttrs()\r\nconst { scrollPosition, isHasScrollBar, scrollRef } = useScroll()\r\n\r\n// 3.ref/computed/const\r\nconst modal = ref<HTMLElement>()\r\n\r\nconst currentClass = ref<string>('')\r\n// const isShowContentBottomBox = ref(false)\r\nconst getBindValue = computed(() => {\r\n  const result: ModalProps = {\r\n    ...omit({ ...attrs }, [...Object.keys(newModalProps), 'wrapClassName']),\r\n  }\r\n  if (!props.showFooter) result.footer = null\r\n  return result\r\n})\r\n// 是否显示底部的阴影\r\nconst isShowContentBottomBox = computed(() => {\r\n  // 如果顶部的阴影为true则说明是内部的容器在滚动产品的阴影 则由容器的滚动情况来决定阴影\r\n  if (props.footerShadowPlacement === 'inner') {\r\n    return (\r\n      props.isShowFooterShadow &&\r\n      isHasScrollBar.value &&\r\n      scrollPosition.value !== 'bottom'\r\n    )\r\n  } else {\r\n    // 如果顶部的阴影为false，则说明不是内部容器滚动，则底部的阴影由 外部的isShowFooterShadow来决定\r\n    return props.isShowFooterShadow\r\n  }\r\n})\r\nconst bem = createNamespace('new-modal')\r\n\r\n// 3.methods\r\nconst handleCancel = () => {\r\n  emits('cancel')\r\n  emits('update:open')\r\n}\r\nconst handleOk = () => {\r\n  emits('ok')\r\n}\r\n// 滚动条返回顶部\r\nconst scrollTop = () => {\r\n  if (scrollRef && scrollRef.value) {\r\n    scrollRef.value.scrollTop = 0\r\n    scrollPosition.value = 'top'\r\n  }\r\n}\r\n\r\n// 4.defineExpose\r\ndefineExpose({\r\n  scrollTop,\r\n})\r\n</script>\r\n"],"names":["_createBlock","_unref","_mergeProps","keyboard","open","wrapClassName","_renderSlot","_createElementVNode","title","_normalizeClass","$slots","showFooter","type","_openBlock","cancelText","cancelButtonProps","_createVNode","okButtonProps"],"mappings":"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"}