{"version":3,"file":"index.mjs","sources":["../../../../components/dialog/utils/index.ts"],"sourcesContent":["export function getCSSValue(v: string | number) {\n  return Number.isNaN(Number(v)) ? v : `${Number(v)}px`;\n}\n\nexport function initDragEvent(dragBox: HTMLElement) {\n  const target = dragBox;\n  const windowInnerWidth = window.innerWidth || document.documentElement.clientWidth;\n  const windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;\n  target.addEventListener('mousedown', (targetEvent: MouseEvent) => {\n    // 算出鼠标相对元素的位置\n    const disX = targetEvent.clientX - target.offsetLeft;\n    const disY = targetEvent.clientY - target.offsetTop;\n    const dialogW = target.offsetWidth;\n    const dialogH = target.offsetHeight;\n    // 如果弹出框超出屏幕范围 不能进行拖拽\n    if (dialogW > windowInnerWidth || dialogH > windowInnerHeight) return;\n    function mouseMoverHandler(documentEvent: MouseEvent) {\n      // 用鼠标的位置减去鼠标相对元素的位置，得到元素的位置\n      let left = documentEvent.clientX - disX;\n      let top = documentEvent.clientY - disY;\n      // 临界判断\n      // 拖拽上左边界限制\n      if (left < 0) left = 0;\n      if (top < 0) top = 0;\n      if (windowInnerWidth - target.offsetWidth - left < 0) left = windowInnerWidth - target.offsetWidth;\n      if (windowInnerHeight - target.offsetHeight - top < 0) top = windowInnerHeight - target.offsetHeight;\n      target.style.position = 'absolute';\n      target.style.left = `${left}px`;\n      target.style.top = `${top}px`;\n    }\n    function mouseUpHandler() {\n      // 鼠标弹起来的时候不再移动\n      document.removeEventListener('mousemove', mouseMoverHandler);\n      // 预防鼠标弹起来后还会循环（即预防鼠标放上去的时候还会移动）\n      document.removeEventListener('mouseup', mouseUpHandler);\n    }\n    // 元素按下时注册document鼠标监听事件\n    document.addEventListener('mousemove', mouseMoverHandler);\n    // 鼠标弹起来移除document鼠标监听事件\n    document.addEventListener('mouseup', mouseUpHandler);\n    // 拖拽结束移除鼠标监听事件，解决文字拖拽结束事件未解绑问题\n    document.addEventListener('dragend', mouseUpHandler);\n  });\n}\n"],"names":["getCSSValue","v","Number","isNaN","concat","initDragEvent","dragBox","target","windowInnerWidth","window","innerWidth","document","documentElement","clientWidth","windowInnerHeight","innerHeight","clientHeight","addEventListener","targetEvent","disX","clientX","offsetLeft","disY","clientY","offsetTop","dialogW","offsetWidth","dialogH","offsetHeight","mouseMoverHandler","documentEvent","left","top","style","position","mouseUpHandler","removeEventListener"],"mappings":";;;;;;AAAO,SAASA,YAAYC,CAAoB,EAAA;AACvC,EAAA,OAAAC,MAAA,CAAOC,MAAMD,MAAO,CAAAD,CAAC,CAAC,CAAI,GAAAA,CAAA,MAAAG,MAAA,CAAOF,MAAA,CAAOD,CAAC,CAAA,EAAA,IAAA,CAAA,CAAA;AAClD,CAAA;AAEO,SAASI,cAAcC,OAAsB,EAAA;EAClD,IAAMC,MAAS,GAAAD,OAAA,CAAA;EACf,IAAME,gBAAmB,GAAAC,MAAA,CAAOC,UAAc,IAAAC,QAAA,CAASC,eAAgB,CAAAC,WAAA,CAAA;EACvE,IAAMC,iBAAoB,GAAAL,MAAA,CAAOM,WAAe,IAAAJ,QAAA,CAASC,eAAgB,CAAAI,YAAA,CAAA;AAClET,EAAAA,MAAA,CAAAU,gBAAA,CAAiB,WAAa,EAAA,UAACC,WAA4B,EAAA;IAE1D,IAAAC,IAAA,GAAOD,WAAY,CAAAE,OAAA,GAAUb,MAAO,CAAAc,UAAA,CAAA;IACpC,IAAAC,IAAA,GAAOJ,WAAY,CAAAK,OAAA,GAAUhB,MAAO,CAAAiB,SAAA,CAAA;AAC1C,IAAA,IAAMC,UAAUlB,MAAO,CAAAmB,WAAA,CAAA;AACvB,IAAA,IAAMC,UAAUpB,MAAO,CAAAqB,YAAA,CAAA;AAEnB,IAAA,IAAAH,OAAA,GAAUjB,oBAAoBmB,OAAU,GAAAb,iBAAA,EAAmB,OAAA;IAC/D,SAASe,kBAAkBC,aAA2B,EAAA;AAEhD,MAAA,IAAAC,IAAA,GAAOD,cAAcV,OAAU,GAAAD,IAAA,CAAA;AAC/B,MAAA,IAAAa,GAAA,GAAMF,cAAcP,OAAU,GAAAD,IAAA,CAAA;AAGlC,MAAA,IAAIS,IAAO,GAAA,CAAA,EAAUA,IAAA,GAAA,CAAA,CAAA;AACrB,MAAA,IAAIC,GAAM,GAAA,CAAA,EAASA,GAAA,GAAA,CAAA,CAAA;AACf,MAAA,IAAAxB,gBAAA,GAAmBD,MAAO,CAAAmB,WAAA,GAAcK,IAAO,GAAA,CAAA,EAAGA,IAAA,GAAOvB,mBAAmBD,MAAO,CAAAmB,WAAA,CAAA;AACnF,MAAA,IAAAZ,iBAAA,GAAoBP,MAAO,CAAAqB,YAAA,GAAeI,GAAM,GAAA,CAAA,EAAGA,GAAA,GAAMlB,oBAAoBP,MAAO,CAAAqB,YAAA,CAAA;AACxFrB,MAAAA,MAAA,CAAO0B,MAAMC,QAAW,GAAA,UAAA,CAAA;MACjB3B,MAAA,CAAA0B,KAAA,CAAMF,iBAAUA,IAAA,EAAA,IAAA,CAAA,CAAA;MAChBxB,MAAA,CAAA0B,KAAA,CAAMD,gBAASA,GAAA,EAAA,IAAA,CAAA,CAAA;AACxB,KAAA;IACA,SAASG,cAAiBA,GAAA;AAEfxB,MAAAA,QAAA,CAAAyB,mBAAA,CAAoB,aAAaP,iBAAiB,CAAA,CAAA;AAElDlB,MAAAA,QAAA,CAAAyB,mBAAA,CAAoB,WAAWD,cAAc,CAAA,CAAA;AACxD,KAAA;AAESxB,IAAAA,QAAA,CAAAM,gBAAA,CAAiB,aAAaY,iBAAiB,CAAA,CAAA;AAE/ClB,IAAAA,QAAA,CAAAM,gBAAA,CAAiB,WAAWkB,cAAc,CAAA,CAAA;AAE1CxB,IAAAA,QAAA,CAAAM,gBAAA,CAAiB,WAAWkB,cAAc,CAAA,CAAA;AACrD,GAAC,CAAA,CAAA;AACH;;;;"}