{"version":3,"file":"use-event.cjs","sources":["../../../app/hooks/use-event.ts"],"sourcesContent":["import { EditorView } from \"@codemirror/view\"\nimport { RefObject, useState } from \"react\"\nimport { useEventCallback } from \"usehooks-ts\"\nimport { closeCompletion } from \"@codemirror/autocomplete\"\n\nexport function useEvent(editorViewRef: RefObject<EditorView | null>) {\n  const [dragging, setDragging] = useState(false)\n\n  const blur = useEventCallback(() => {\n    const editor = editorViewRef.current\n    if (editor) {\n      editor.contentDOM.blur()\n\n      closeCompletion(editor)\n    }\n  })\n\n  const blurOnClickOutside = useEventCallback((event: MouseEvent) => {\n    if (event.target && !dragging && !editorViewRef.current?.dom.contains(event.target as Node)) {\n      blur()\n    }\n\n    setDragging(false)\n  })\n\n  return {\n    blur,\n    blurOnClickOutside,\n  }\n}\n"],"names":["useState","useEventCallback","closeCompletion"],"mappings":";;;;;AAKO,SAAS,SAAS,eAA6C;AACpE,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAS,KAAK;AAE9C,QAAM,OAAOC,MAAAA,iBAAiB,MAAM;AAClC,UAAM,SAAS,cAAc;AAC7B,QAAI,QAAQ;AACV,aAAO,WAAW,KAAA;AAElBC,cAAAA,gBAAgB,MAAM;AAAA,IACxB;AAAA,EACF,CAAC;AAED,QAAM,qBAAqBD,uBAAiB,CAAC,UAAsB;;AACjE,QAAI,MAAM,UAAU,CAAC,YAAY,GAAC,mBAAc,YAAd,mBAAuB,IAAI,SAAS,MAAM,UAAiB;AAC3F,WAAA;AAAA,IACF;AAEA,gBAAY,KAAK;AAAA,EACnB,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EAAA;AAEJ;;"}