{"version":3,"file":"modal-overlay.vue2.mjs","sources":["../../../../../../packages/components/modal-overlay/src/modal-overlay.vue"],"sourcesContent":["<template>\r\n  <div v-if=\"open\" :class=\"[bem.b(), rootClass]\" :style=\"rootStyle\">\r\n    <a-spin :spinning=\"fullLoading\" :wrapper-class-name=\"bem.e('content')\">\r\n      <!-- 头部区 -->\r\n      <div :class=\"bem.e('header')\">\r\n        <!-- 关闭按钮 -->\r\n        <div\r\n          v-if=\"showClose\"\r\n          :class=\"[bem.e('close'), mediaClass]\"\r\n          :style=\"closeStyle\"\r\n        >\r\n          <div class=\"close-content\" @click=\"close\">\r\n            <slot name=\"closeIcon\">\r\n              <ll-icon\r\n                v-bind=\"closeIcon\"\r\n                :icon-name=\"closeIcon.iconName || 'icon-return-arrow'\"\r\n                :style=\"{ marginRight: closeIconTextSpace + 'px' }\"\r\n              />\r\n            </slot>\r\n            <div class=\"close-text\">\r\n              <slot name=\"closeText\">\r\n                <span\r\n                  :style=\"{\r\n                    'font-size': closeTextSize + 'px',\r\n                    color: closeTextColor,\r\n                  }\"\r\n                >\r\n                  {{ closeText }}\r\n                </span>\r\n              </slot>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <!-- 头部标题插槽 -->\r\n        <div\r\n          v-if=\"showHeader\"\r\n          :style=\"headerStyle\"\r\n          :class=\"['header-content', mediaClass]\"\r\n        >\r\n          <slot name=\"header\"></slot>\r\n        </div>\r\n      </div>\r\n\r\n      <!-- 主内容区 -->\r\n      <a-spin\r\n        :spinning=\"mainLoading\"\r\n        :wrapper-class-name=\"bem.e('main-loading')\"\r\n      >\r\n        <div\r\n          ref=\"scrollRef\"\r\n          :class=\"[\r\n            bem.e('main'),\r\n            isBespreadMain ? 'bespread-main' : '',\r\n            mainClass,\r\n          ]\"\r\n          :style=\"mainStyle\"\r\n        >\r\n          <div :class=\"['main-content', mediaClass]\">\r\n            <!-- 主内容区域插槽 -->\r\n            <slot name=\"main\"></slot>\r\n          </div>\r\n        </div>\r\n      </a-spin>\r\n\r\n      <!-- 页脚 -->\r\n      <div\r\n        v-if=\"showFooter\"\r\n        :class=\"[\r\n          bem.e('footer'),\r\n          isShowContentBottomBox ? bem.is('shadow') : '',\r\n        ]\"\r\n        :style=\"footerStyle\"\r\n      >\r\n        <div :class=\"['footer-content', mediaClass]\">\r\n          <!-- 页脚区域插槽 -->\r\n          <slot name=\"footer\"></slot>\r\n        </div>\r\n      </div>\r\n    </a-spin>\r\n  </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { useScroll } from '@ll-plus/hooks'\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { computed } from 'vue'\r\nimport { modalOverlayEmits, modalOverlayProps } from './modal-overlay'\r\n\r\ndefineOptions({ name: 'LlModalOverlay' })\r\n\r\nconst props = defineProps(modalOverlayProps)\r\nconst emits = defineEmits(modalOverlayEmits)\r\n\r\nconst bem = createNamespace('modal-overlay')\r\n\r\nconst { scrollPosition, isHasScrollBar, scrollRef } = useScroll()\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\n\r\n// 添加滚动到顶部的方法\r\nconst scrollToTop = () => {\r\n  if (scrollRef.value) {\r\n    scrollRef.value.scrollTo({\r\n      top: 0,\r\n      behavior: 'smooth',\r\n    })\r\n  }\r\n}\r\n\r\nconst close = () => {\r\n  emits('close', false)\r\n  emits('update:open', false)\r\n}\r\n\r\nconst rootStyle = computed(() => ({\r\n  zIndex: props.zIndex,\r\n  borderRadius: props.borderRadius,\r\n}))\r\n\r\ndefineExpose({\r\n  scrollToTop,\r\n})\r\n</script>\r\n"],"names":["open","_createElementBlock","_normalizeClass","_unref","rootClass","_createVNode","fullLoading","_createCommentVNode","_createElementVNode","showClose","mediaClass","closeStyle","_renderSlot","_mergeProps","closeIcon","closeIconTextSpace","_normalizeStyle","closeTextSize","closeTextColor","closeText","showHeader","headerStyle","mainLoading","isBespreadMain","mainClass","mainStyle","showFooter","footerStyle"],"mappings":"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"}