{"version":3,"file":"draggable.mjs","sources":["../../../../../../../packages/components/color-picker/src/config/draggable.ts"],"sourcesContent":["let isDragging = false\r\n\r\nexport declare interface IOptions {\r\n  drag?: (event: MouseEvent) => void\r\n  start?: (event: MouseEvent) => void\r\n  end?: (event: MouseEvent) => void\r\n}\r\n\r\nexport default function (ele: HTMLElement, options: IOptions) {\r\n  const moveFun = function (event: MouseEvent) {\r\n    options?.drag?.(event)\r\n  }\r\n\r\n  const upFun = function (event: MouseEvent) {\r\n    document.removeEventListener('mousemove', moveFun)\r\n    document.removeEventListener('mouseup', upFun)\r\n    document.onselectstart = null\r\n    document.ondragstart = null\r\n\r\n    isDragging = false\r\n\r\n    options?.end?.(event)\r\n  }\r\n\r\n  ele.addEventListener('mousedown', function (event: MouseEvent) {\r\n    if (isDragging) return\r\n    document.onselectstart = () => false\r\n    document.ondragstart = () => false\r\n    document.addEventListener('mousemove', moveFun)\r\n    document.addEventListener('mouseup', upFun)\r\n\r\n    isDragging = true\r\n\r\n    options?.start?.(event)\r\n  })\r\n}\r\n"],"names":[],"mappings":";AAAA,IAAI,UAAA,GAAa,KAAA;AAQjB,kBAAA,CAAyB,KAAkB,OAAA,EAAmB;AAC5D,EAAA,MAAM,OAAA,GAAU,SAAU,KAAA,EAAmB;AAC3C,IAAA,OAAA,EAAS,OAAO,KAAK,CAAA;AAAA,EACvB,CAAA;AAEA,EAAA,MAAM,KAAA,GAAQ,SAAU,KAAA,EAAmB;AACzC,IAAA,QAAA,CAAS,mBAAA,CAAoB,aAAa,OAAO,CAAA;AACjD,IAAA,QAAA,CAAS,mBAAA,CAAoB,WAAW,KAAK,CAAA;AAC7C,IAAA,QAAA,CAAS,aAAA,GAAgB,IAAA;AACzB,IAAA,QAAA,CAAS,WAAA,GAAc,IAAA;AAEvB,IAAA,UAAA,GAAa,KAAA;AAEb,IAAA,OAAA,EAAS,MAAM,KAAK,CAAA;AAAA,EACtB,CAAA;AAEA,EAAA,GAAA,CAAI,gBAAA,CAAiB,WAAA,EAAa,SAAU,KAAA,EAAmB;AAC7D,IAAA,IAAI,UAAA,EAAY;AAChB,IAAA,QAAA,CAAS,gBAAgB,MAAM,KAAA;AAC/B,IAAA,QAAA,CAAS,cAAc,MAAM,KAAA;AAC7B,IAAA,QAAA,CAAS,gBAAA,CAAiB,aAAa,OAAO,CAAA;AAC9C,IAAA,QAAA,CAAS,gBAAA,CAAiB,WAAW,KAAK,CAAA;AAE1C,IAAA,UAAA,GAAa,IAAA;AAEb,IAAA,OAAA,EAAS,QAAQ,KAAK,CAAA;AAAA,EACxB,CAAC,CAAA;AACH;;;;"}