{"version":3,"file":"SelectionReference.cjs","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,kBAAA,CAA6C;AAAA,EACxD,qBAAA,GAAwB;AACtB,IAAA,MAAM,SAAA,GAAY,OAAO,YAAA,EAAa;AACtC,IAAA,MAAM,IAAA,GAAO,aAAa,SAAA,CAAU,UAAA;AAEpC,IAAA,IAAI,IAAA,IAAQ,KAAK,aAAA,EAAe;AAC9B,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,qBAAA,EAAsB;AACtD,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,eAAA,GAA2B;AAAA,MAC/B,GAAA,EAAK,CAAA;AAAA,MACL,IAAA,EAAM,CAAA;AAAA,MACN,MAAA,EAAQ,CAAA;AAAA,MACR,KAAA,EAAO,CAAA;AAAA,MACP,KAAA,EAAO,CAAA;AAAA,MACP,MAAA,EAAQ,CAAA;AAAA,MACR,CAAA,EAAG,CAAA;AAAA,MACH,CAAA,EAAG,CAAA;AAAA,MACH,QAAQ,MAAM;AAAA,MAAC;AAAA,KACjB;AACA,IAAA,OAAO,eAAA;AAAA,EACT;AAAA,EAEA,IAAI,WAAA,GAAc;AAChB,IAAA,OAAO,IAAA,CAAK,uBAAsB,CAAE,KAAA;AAAA,EACtC;AAAA,EAEA,IAAI,YAAA,GAAe;AACjB,IAAA,OAAO,IAAA,CAAK,uBAAsB,CAAE,MAAA;AAAA,EACtC;AACF;;;;"}