{"version":3,"file":"SelectionReference.mjs","sources":["../../../../src/components/DataLinks/SelectionReference.ts"],"sourcesContent":["import { VirtualElement } from '@popperjs/core/lib/types';\n\nexport class SelectionReference implements VirtualElement {\n  getBoundingClientRect() {\n    const selection = window.getSelection();\n    const node = selection && selection.anchorNode;\n\n    if (node && node.parentElement) {\n      const rect = node.parentElement.getBoundingClientRect();\n      return rect;\n    }\n\n    const fallbackDOMRect: DOMRect = {\n      top: 0,\n      left: 0,\n      bottom: 0,\n      right: 0,\n      width: 0,\n      height: 0,\n      x: 0,\n      y: 0,\n      toJSON: () => {},\n    };\n    return fallbackDOMRect;\n  }\n\n  get clientWidth() {\n    return this.getBoundingClientRect().width;\n  }\n\n  get clientHeight() {\n    return this.getBoundingClientRect().height;\n  }\n}\n"],"names":[],"mappings":"AAEO,MAAM,kBAA6C,CAAA;AAAA,EACxD,qBAAwB,GAAA;AACtB,IAAM,MAAA,SAAA,GAAY,OAAO,YAAa,EAAA;AACtC,IAAM,MAAA,IAAA,GAAO,aAAa,SAAU,CAAA,UAAA;AAEpC,IAAI,IAAA,IAAA,IAAQ,KAAK,aAAe,EAAA;AAC9B,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,aAAA,CAAc,qBAAsB,EAAA;AACtD,MAAO,OAAA,IAAA;AAAA;AAGT,IAAA,MAAM,eAA2B,GAAA;AAAA,MAC/B,GAAK,EAAA,CAAA;AAAA,MACL,IAAM,EAAA,CAAA;AAAA,MACN,MAAQ,EAAA,CAAA;AAAA,MACR,KAAO,EAAA,CAAA;AAAA,MACP,KAAO,EAAA,CAAA;AAAA,MACP,MAAQ,EAAA,CAAA;AAAA,MACR,CAAG,EAAA,CAAA;AAAA,MACH,CAAG,EAAA,CAAA;AAAA,MACH,QAAQ,MAAM;AAAA;AAAC,KACjB;AACA,IAAO,OAAA,eAAA;AAAA;AACT,EAEA,IAAI,WAAc,GAAA;AAChB,IAAO,OAAA,IAAA,CAAK,uBAAwB,CAAA,KAAA;AAAA;AACtC,EAEA,IAAI,YAAe,GAAA;AACjB,IAAO,OAAA,IAAA,CAAK,uBAAwB,CAAA,MAAA;AAAA;AAExC;;;;"}