@grafana/ui
Version:
Grafana Components Library
1 lines • 2.72 kB
Source Map (JSON)
{"version":3,"file":"dom.mjs","sources":["../../../src/utils/dom.ts"],"sourcesContent":["// Node.closest() polyfill\nif (typeof window !== 'undefined' && 'Element' in window && !Element.prototype.closest) {\n Element.prototype.closest = function (this: any, s: string) {\n const matches = (this.document || this.ownerDocument).querySelectorAll(s);\n let el = this;\n let i;\n // eslint-disable-next-line\n do {\n i = matches.length;\n // eslint-disable-next-line\n while (--i >= 0 && matches.item(i) !== el) {}\n el = el.parentElement;\n } while (i < 0 && el);\n return el;\n };\n}\n\nexport function getPreviousCousin(node: HTMLElement, selector: string) {\n let sibling = node.parentElement?.previousSibling;\n let el;\n while (sibling) {\n if (sibling instanceof HTMLElement) {\n el = sibling.querySelector(selector);\n }\n if (el) {\n return el;\n }\n sibling = sibling.previousSibling;\n }\n return undefined;\n}\n\nexport function getNextCharacter(global?: typeof globalThis) {\n const selection = (global || window).getSelection();\n if (!selection || !selection.anchorNode) {\n return null;\n }\n\n const range = selection.getRangeAt(0);\n const text = selection.anchorNode.textContent;\n const offset = range.startOffset;\n return text!.slice(offset, offset + 1);\n}\n"],"names":[],"mappings":";AACA,IAAI,OAAO,WAAW,WAAA,IAAe,SAAA,IAAa,UAAU,CAAC,OAAA,CAAQ,UAAU,OAAA,EAAS;AACtF,EAAA,OAAA,CAAQ,SAAA,CAAU,OAAA,GAAU,SAAqB,CAAA,EAAW;AAC1D,IAAA,MAAM,WAAW,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,aAAA,EAAe,iBAAiB,CAAC,CAAA;AACxE,IAAA,IAAI,EAAA,GAAK,IAAA;AACT,IAAA,IAAI,CAAA;AAEJ,IAAA,GAAG;AACD,MAAA,CAAA,GAAI,OAAA,CAAQ,MAAA;AAEZ,MAAA,OAAO,EAAE,CAAA,IAAK,CAAA,IAAK,QAAQ,IAAA,CAAK,CAAC,MAAM,EAAA,EAAI;AAAA,MAAC;AAC5C,MAAA,EAAA,GAAK,EAAA,CAAG,aAAA;AAAA,IACV,CAAA,QAAS,IAAI,CAAA,IAAK,EAAA;AAClB,IAAA,OAAO,EAAA;AAAA,EACT,CAAA;AACF;AAEO,SAAS,iBAAA,CAAkB,MAAmB,QAAA,EAAkB;AAjBvE,EAAA,IAAA,EAAA;AAkBE,EAAA,IAAI,OAAA,GAAA,CAAU,EAAA,GAAA,IAAA,CAAK,aAAA,KAAL,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,eAAA;AAClC,EAAA,IAAI,EAAA;AACJ,EAAA,OAAO,OAAA,EAAS;AACd,IAAA,IAAI,mBAAmB,WAAA,EAAa;AAClC,MAAA,EAAA,GAAK,OAAA,CAAQ,cAAc,QAAQ,CAAA;AAAA,IACrC;AACA,IAAA,IAAI,EAAA,EAAI;AACN,MAAA,OAAO,EAAA;AAAA,IACT;AACA,IAAA,OAAA,GAAU,OAAA,CAAQ,eAAA;AAAA,EACpB;AACA,EAAA,OAAO,KAAA,CAAA;AACT;AAEO,SAAS,iBAAiB,MAAA,EAA4B;AAC3D,EAAA,MAAM,SAAA,GAAA,CAAa,MAAA,IAAU,MAAA,EAAQ,YAAA,EAAa;AAClD,EAAA,IAAI,CAAC,SAAA,IAAa,CAAC,SAAA,CAAU,UAAA,EAAY;AACvC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,SAAA,CAAU,UAAA,CAAW,CAAC,CAAA;AACpC,EAAA,MAAM,IAAA,GAAO,UAAU,UAAA,CAAW,WAAA;AAClC,EAAA,MAAM,SAAS,KAAA,CAAM,WAAA;AACrB,EAAA,OAAO,IAAA,CAAM,KAAA,CAAM,MAAA,EAAQ,MAAA,GAAS,CAAC,CAAA;AACvC;;;;"}