{"version":3,"file":"event.mjs","sources":["../../../../packages/utils/dom/event.ts"],"sourcesContent":["/** @deprecated use `element.addEventListener` instead */\nexport const on = (\n  element: HTMLElement | Document | Window,\n  event: string,\n  handler: EventListenerOrEventListenerObject,\n  useCapture = false\n): void => {\n  if (element && event && handler) {\n    element?.addEventListener(event, handler, useCapture)\n  }\n}\n\n/** @deprecated use `element.addEventListener` instead */\nexport const off = (\n  element: HTMLElement | Document | Window,\n  event: string,\n  handler: EventListenerOrEventListenerObject,\n  useCapture = false\n): void => {\n  if (element && event && handler) {\n    element?.removeEventListener(event, handler, useCapture)\n  }\n}\n\n/** @deprecated use `element.addEventListener` instead */\nexport const once = (\n  el: HTMLElement,\n  event: string,\n  fn: EventListener\n): void => {\n  const listener = function (this: any, ...args: any) {\n    if (fn) {\n      fn.apply(this, args)\n    }\n    off(el, event, listener)\n  }\n  on(el, event, listener)\n}\n\nexport const composeEventHandlers = <E>(\n  theirsHandler?: (event: E) => boolean | void,\n  oursHandler?: (event: E) => void,\n  { checkForDefaultPrevented = true } = {}\n) => {\n  const handleEvent = (event: E) => {\n    const shouldPrevent = theirsHandler?.(event)\n\n    if (checkForDefaultPrevented === false || !shouldPrevent) {\n      return oursHandler?.(event)\n    }\n  }\n  return handleEvent\n}\n\ntype WhenMouseHandler = (e: PointerEvent) => any\nexport const whenMouse = (handler: WhenMouseHandler): WhenMouseHandler => {\n  return (e: PointerEvent) =>\n    e.pointerType === 'mouse' ? handler(e) : undefined\n}\n"],"names":[],"mappings":"AACO,MAAM,KAAK,CAChB,OAAA,EACA,KACA,EAAA,OAAA,EACA,aAAa,KACJ,KAAA;AACT,EAAI,IAAA,OAAA,IAAW,SAAS,OAAS,EAAA;AAC/B,IAAS,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,gBAAA,CAAiB,OAAO,OAAS,EAAA,UAAA,CAAA,CAAA;AAAA,GAC5C;AACF,EAAA;AAGO,MAAM,MAAM,CACjB,OAAA,EACA,KACA,EAAA,OAAA,EACA,aAAa,KACJ,KAAA;AACT,EAAI,IAAA,OAAA,IAAW,SAAS,OAAS,EAAA;AAC/B,IAAS,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,mBAAA,CAAoB,OAAO,OAAS,EAAA,UAAA,CAAA,CAAA;AAAA,GAC/C;AACF,EAAA;AAGO,MAAM,IAAO,GAAA,CAClB,EACA,EAAA,KAAA,EACA,EACS,KAAA;AACT,EAAM,MAAA,QAAA,GAAW,YAAwB,IAAW,EAAA;AAClD,IAAA,IAAI,EAAI,EAAA;AACN,MAAG,EAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA,CAAA;AAAA,KACrB;AACA,IAAI,GAAA,CAAA,EAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AAAA,GACzB,CAAA;AACA,EAAG,EAAA,CAAA,EAAA,EAAI,OAAO,QAAQ,CAAA,CAAA;AACxB,EAAA;AAEa,MAAA,oBAAA,GAAuB,CAClC,aACA,EAAA,WAAA,EACA,EAAE,wBAA2B,GAAA,IAAA,EAAS,GAAA,EACnC,KAAA;AACH,EAAM,MAAA,WAAA,GAAc,CAAC,KAAa,KAAA;AAChC,IAAA,MAAM,gBAAgB,aAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,KAAA,CAAA,CAAA;AAEtC,IAAI,IAAA,wBAAA,KAA6B,KAAS,IAAA,CAAC,aAAe,EAAA;AACxD,MAAA,OAAO,WAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACvB;AAAA,GACF,CAAA;AACA,EAAO,OAAA,WAAA,CAAA;AACT,EAAA;AAGa,MAAA,SAAA,GAAY,CAAC,OAAgD,KAAA;AACxE,EAAA,OAAO,CAAC,CACN,KAAA,CAAA,CAAE,gBAAgB,OAAU,GAAA,OAAA,CAAQ,CAAC,CAAI,GAAA,KAAA,CAAA,CAAA;AAC7C;;;;"}