{"version":3,"file":"popup.mjs","sources":["../../src/popup/popup.vue","../../src/popup/popup.vue?vue&type=template&id=d816c28e&lang.js"],"sourcesContent":["<template>\n  <teleport v-if=\"!destroyOnClose || wrapperVisible\" :to=\"to\" :disabled=\"!to\">\n    <t-overlay v-bind=\"overlayProps\" :visible=\"innerVisible && showOverlay\" @click=\"handleOverlayClick\" />\n    <transition :name=\"contentTransitionName\" @after-enter=\"afterEnter\" @after-leave=\"afterLeave\">\n      <div v-show=\"innerVisible\" :class=\"[name, $attrs.class, contentClasses]\" :style=\"rootStyles\" v-bind=\"$attrs\">\n        <div v-if=\"closeBtnNode\" :class=\"`${name}__close`\" @click=\"handleCloseClick\">\n          <t-node :content=\"closeBtnNode\" />\n        </div>\n        <slot />\n      </div>\n    </transition>\n  </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, watch, defineComponent, h, getCurrentInstance, ref, nextTick, onUnmounted } from 'vue';\nimport { CloseIcon } from 'tdesign-icons-vue-next';\n\nimport popupProps from './props';\nimport TOverlay from '../overlay';\nimport config from '../config';\nimport { TdPopupProps } from './type';\nimport { useDefault, TNode, renderTNode, isBrowser } from '../shared';\nimport { getAttach } from '../shared/dom';\n\nconst { prefix } = config;\n\nconst name = `${prefix}-popup`;\nconst bodyLockClass = `${name}-overflow-hidden`;\nlet lockTimes = 0;\n\nexport default defineComponent({\n  name,\n  components: { TNode, TOverlay },\n  inheritAttrs: false,\n  props: popupProps,\n  emits: ['open', 'close', 'opened', 'closed', 'visible-change', 'update:visible', 'update:modelValue'],\n  setup(props, context) {\n    const currentInstance = getCurrentInstance();\n    const [currentVisible, setVisible] = useDefault<TdPopupProps['visible'], TdPopupProps>(\n      props,\n      context.emit,\n      'visible',\n      'visible-change',\n    );\n    const wrapperVisible = ref(currentVisible.value);\n    const innerVisible = ref(currentVisible.value);\n\n    // 因为开启 destroyOnClose，会影响 transition 的动画，因此需要前后设置 visible\n    watch(currentVisible, (v) => {\n      wrapperVisible.value = v;\n\n      if (v) {\n        if (props.destroyOnClose) {\n          nextTick(() => {\n            innerVisible.value = v;\n          });\n        } else {\n          innerVisible.value = v;\n        }\n      } else {\n        innerVisible.value = v;\n      }\n    });\n\n    const rootStyles = computed(() => {\n      const styles: Record<string, any> = {};\n\n      if (props.zIndex) {\n        styles.zIndex = `${props.zIndex}`;\n      }\n      return { ...(context.attrs.style as Object), ...styles };\n    });\n\n    const contentClasses = computed(() => ({\n      [`${name}--${props.placement}`]: true,\n    }));\n\n    const contentTransitionName = computed(() => {\n      const { transitionName, placement } = props;\n\n      if (transitionName) return transitionName;\n      if (placement === 'center') return 'fade-zoom';\n      return `slide-${placement}`;\n    });\n\n    const closeBtnNode = computed(() =>\n      renderTNode(currentInstance, 'closeBtn', {\n        defaultNode: h(CloseIcon, { size: '24px' }),\n      }),\n    );\n\n    const handleCloseClick = (e: MouseEvent) => {\n      props.onClose?.({ e });\n      setVisible(false, { trigger: 'close-btn' });\n    };\n\n    const handleOverlayClick = (args: { e: MouseEvent }) => {\n      const { e } = args;\n      if (!props.closeOnOverlayClick) {\n        return;\n      }\n      props.onClose?.({ e });\n      setVisible(false, { trigger: 'overlay' });\n    };\n\n    const afterLeave = () => {\n      wrapperVisible.value = false;\n      props.onClosed?.();\n    };\n    const afterEnter = () => props.onOpened?.();\n    const to = computed(() => {\n      if (!isBrowser || !props.attach) return undefined;\n      return getAttach(props.attach ?? 'body');\n    });\n\n    watch(\n      () => currentVisible.value,\n      (val) => {\n        if (val) {\n          props.onOpen?.();\n          setVisible(true);\n        }\n      },\n    );\n\n    const lock = () => {\n      if (!lockTimes && isBrowser) {\n        document.body.classList.add(bodyLockClass);\n      }\n\n      lockTimes++;\n    };\n\n    const unlock = () => {\n      if (lockTimes) {\n        lockTimes--;\n\n        if (!lockTimes && isBrowser) {\n          document.body.classList.remove(bodyLockClass);\n        }\n      }\n    };\n\n    const shouldLock = computed(() => wrapperVisible.value && props.preventScrollThrough);\n\n    watch(\n      () => shouldLock.value,\n      (value) => {\n        value ? lock() : unlock();\n      },\n    );\n    onUnmounted(() => {\n      unlock();\n    });\n    return {\n      name,\n      to,\n      wrapperVisible,\n      innerVisible,\n      currentVisible,\n      rootStyles,\n      contentClasses,\n      contentTransitionName,\n      closeBtnNode,\n      afterEnter,\n      afterLeave,\n      handleOverlayClick,\n      handleCloseClick,\n    };\n  },\n});\n</script>\n","<template>\n  <teleport v-if=\"!destroyOnClose || wrapperVisible\" :to=\"to\" :disabled=\"!to\">\n    <t-overlay v-bind=\"overlayProps\" :visible=\"innerVisible && showOverlay\" @click=\"handleOverlayClick\" />\n    <transition :name=\"contentTransitionName\" @after-enter=\"afterEnter\" @after-leave=\"afterLeave\">\n      <div v-show=\"innerVisible\" :class=\"[name, $attrs.class, contentClasses]\" :style=\"rootStyles\" v-bind=\"$attrs\">\n        <div v-if=\"closeBtnNode\" :class=\"`${name}__close`\" @click=\"handleCloseClick\">\n          <t-node :content=\"closeBtnNode\" />\n        </div>\n        <slot />\n      </div>\n    </transition>\n  </teleport>\n</template>\n\n<script lang=\"ts\">\nimport { computed, watch, defineComponent, h, getCurrentInstance, ref, nextTick, onUnmounted } from 'vue';\nimport { CloseIcon } from 'tdesign-icons-vue-next';\n\nimport popupProps from './props';\nimport TOverlay from '../overlay';\nimport config from '../config';\nimport { TdPopupProps } from './type';\nimport { useDefault, TNode, renderTNode, isBrowser } from '../shared';\nimport { getAttach } from '../shared/dom';\n\nconst { prefix } = config;\n\nconst name = `${prefix}-popup`;\nconst bodyLockClass = `${name}-overflow-hidden`;\nlet lockTimes = 0;\n\nexport default defineComponent({\n  name,\n  components: { TNode, TOverlay },\n  inheritAttrs: false,\n  props: popupProps,\n  emits: ['open', 'close', 'opened', 'closed', 'visible-change', 'update:visible', 'update:modelValue'],\n  setup(props, context) {\n    const currentInstance = getCurrentInstance();\n    const [currentVisible, setVisible] = useDefault<TdPopupProps['visible'], TdPopupProps>(\n      props,\n      context.emit,\n      'visible',\n      'visible-change',\n    );\n    const wrapperVisible = ref(currentVisible.value);\n    const innerVisible = ref(currentVisible.value);\n\n    // 因为开启 destroyOnClose，会影响 transition 的动画，因此需要前后设置 visible\n    watch(currentVisible, (v) => {\n      wrapperVisible.value = v;\n\n      if (v) {\n        if (props.destroyOnClose) {\n          nextTick(() => {\n            innerVisible.value = v;\n          });\n        } else {\n          innerVisible.value = v;\n        }\n      } else {\n        innerVisible.value = v;\n      }\n    });\n\n    const rootStyles = computed(() => {\n      const styles: Record<string, any> = {};\n\n      if (props.zIndex) {\n        styles.zIndex = `${props.zIndex}`;\n      }\n      return { ...(context.attrs.style as Object), ...styles };\n    });\n\n    const contentClasses = computed(() => ({\n      [`${name}--${props.placement}`]: true,\n    }));\n\n    const contentTransitionName = computed(() => {\n      const { transitionName, placement } = props;\n\n      if (transitionName) return transitionName;\n      if (placement === 'center') return 'fade-zoom';\n      return `slide-${placement}`;\n    });\n\n    const closeBtnNode = computed(() =>\n      renderTNode(currentInstance, 'closeBtn', {\n        defaultNode: h(CloseIcon, { size: '24px' }),\n      }),\n    );\n\n    const handleCloseClick = (e: MouseEvent) => {\n      props.onClose?.({ e });\n      setVisible(false, { trigger: 'close-btn' });\n    };\n\n    const handleOverlayClick = (args: { e: MouseEvent }) => {\n      const { e } = args;\n      if (!props.closeOnOverlayClick) {\n        return;\n      }\n      props.onClose?.({ e });\n      setVisible(false, { trigger: 'overlay' });\n    };\n\n    const afterLeave = () => {\n      wrapperVisible.value = false;\n      props.onClosed?.();\n    };\n    const afterEnter = () => props.onOpened?.();\n    const to = computed(() => {\n      if (!isBrowser || !props.attach) return undefined;\n      return getAttach(props.attach ?? 'body');\n    });\n\n    watch(\n      () => currentVisible.value,\n      (val) => {\n        if (val) {\n          props.onOpen?.();\n          setVisible(true);\n        }\n      },\n    );\n\n    const lock = () => {\n      if (!lockTimes && isBrowser) {\n        document.body.classList.add(bodyLockClass);\n      }\n\n      lockTimes++;\n    };\n\n    const unlock = () => {\n      if (lockTimes) {\n        lockTimes--;\n\n        if (!lockTimes && isBrowser) {\n          document.body.classList.remove(bodyLockClass);\n        }\n      }\n    };\n\n    const shouldLock = computed(() => wrapperVisible.value && props.preventScrollThrough);\n\n    watch(\n      () => shouldLock.value,\n      (value) => {\n        value ? lock() : unlock();\n      },\n    );\n    onUnmounted(() => {\n      unlock();\n    });\n    return {\n      name,\n      to,\n      wrapperVisible,\n      innerVisible,\n      currentVisible,\n      rootStyles,\n      contentClasses,\n      contentTransitionName,\n      closeBtnNode,\n      afterEnter,\n      afterLeave,\n      handleOverlayClick,\n      handleCloseClick,\n    };\n  },\n});\n</script>\n"],"names":["prefix","config","name","bodyLockClass","lockTimes","defineComponent","components","TNode","TOverlay","inheritAttrs","props","popupProps","emits","setup","context","currentInstance","getCurrentInstance","_useDefault","useDefault","emit","_useDefault2","_slicedToArray","currentVisible","setVisible","wrapperVisible","ref","value","innerVisible","watch","v","destroyOnClose","nextTick","rootStyles","computed","styles","zIndex","concat","_objectSpread","attrs","style","contentClasses","_defineProperty","placement","contentTransitionName","transitionName","closeBtnNode","renderTNode","defaultNode","h","CloseIcon","size","handleCloseClick","e","_props$onClose","onClose","call","trigger","handleOverlayClick","args","_props$onClose2","closeOnOverlayClick","afterLeave","_props$onClosed","onClosed","afterEnter","_props$onOpened","onOpened","to","_props$attach","isBrowser","attach","getAttach","val","_props$onOpen","onOpen","lock","document","body","classList","add","unlock","remove","shouldLock","preventScrollThrough","onUnmounted","_ctx","_createBlock","_Teleport","disabled","_createVNode","_component_t_overlay","_mergeProps","overlayProps","visible","showOverlay","onClick","_Transition","onAfterEnter","onAfterLeave","_withDirectives","_createElementVNode","class","$attrs","_createElementBlock","apply","arguments","_component_t_node","content","_renderSlot","$slots"],"mappings":"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"}