{"version":3,"file":"overlay.mjs","sources":["../../src/overlay/overlay.tsx"],"sourcesContent":["import { Transition, computed, defineComponent } from 'vue';\nimport { preventDefault } from '../shared/dom';\nimport config from '../config';\nimport OverlayProps from './props';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { useTNodeJSX } from '../hooks/tnode';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n  name: `${prefix}-overlay`,\n  props: OverlayProps,\n  setup(props) {\n    const renderTNodeJSX = useTNodeJSX();\n    const overlayClass = usePrefixClass('overlay');\n\n    const overlayClasses = computed(() => ({\n      [`${overlayClass.value}`]: true,\n      [`${overlayClass.value}--active`]: props.visible,\n    }));\n\n    const overlayStyles = computed(() => {\n      const arr = [];\n\n      if (props.customStyle) {\n        arr.push(props.customStyle);\n      }\n      if (props.zIndex) {\n        arr.push(`z-index: ${props.zIndex}`);\n      }\n      if (props.duration) {\n        arr.push(`transition-duration: ${props.duration}ms`);\n      }\n      if (props.backgroundColor) {\n        arr.push(`background-color: ${props.backgroundColor}`);\n      }\n      return arr.join('; ');\n    });\n\n    const handleTouchMove = (e: TouchEvent) => {\n      if (props.preventScrollThrough) {\n        preventDefault(e, true);\n      }\n    };\n    const handleClick = (e: MouseEvent) => {\n      props.onClick?.({ e });\n    };\n\n    return () => (\n      <Transition name={overlayClass.value}>\n        <div\n          v-show={props.visible}\n          class={overlayClasses.value}\n          style={overlayStyles.value}\n          onClick={handleClick}\n          onTouchmove={handleTouchMove}\n        >\n          {renderTNodeJSX('default')}\n        </div>\n      </Transition>\n    );\n  },\n});\n"],"names":["prefix","config","defineComponent","name","props","OverlayProps","setup","renderTNodeJSX","useTNodeJSX","overlayClass","usePrefixClass","overlayClasses","computed","_defineProperty","concat","value","visible","overlayStyles","arr","customStyle","push","zIndex","duration","backgroundColor","join","handleTouchMove","e","preventScrollThrough","preventDefault","handleClick","_props$onClick","onClick","call","_createVNode","Transition","default","_default","_withDirectives","_vShow"],"mappings":"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"}