UNPKG

@vuesax-alpha/nightly

Version:
1 lines 2.12 kB
{"version":3,"file":"get-document-rect.mjs","sources":["../../../../../../../packages/hooks/use-floating/dom/utils/get-document-rect.ts"],"sourcesContent":["import { max } from '@vuesax-alpha/hooks/use-floating/utils'\nimport {\n getComputedStyle,\n getNodeScroll,\n} from '@vuesax-alpha/hooks/use-floating/utils/dom'\n\nimport { getDocumentElement } from '../platform/get-document-element'\nimport { getWindowScrollBarX } from './get-window-scrollbar-x'\nimport type { Rect } from '@vuesax-alpha/hooks/use-floating/utils'\n\nexport function getDocumentRect(element: HTMLElement): Rect {\n const html = getDocumentElement(element)\n const scroll = getNodeScroll(element)\n const body = element.ownerDocument.body\n\n const width = max(\n html.scrollWidth,\n html.clientWidth,\n body.scrollWidth,\n body.clientWidth\n )\n const height = max(\n html.scrollHeight,\n html.clientHeight,\n body.scrollHeight,\n body.clientHeight\n )\n\n let x = -scroll.scrollLeft + getWindowScrollBarX(element)\n const y = -scroll.scrollTop\n\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width\n }\n\n return {\n width,\n height,\n x,\n y,\n }\n}\n"],"names":[],"mappings":";;;;;AAUO,SAAS,gBAAgB,OAA4B,EAAA;AAC1D,EAAM,MAAA,IAAA,GAAO,mBAAmB,OAAO,CAAA,CAAA;AACvC,EAAM,MAAA,MAAA,GAAS,cAAc,OAAO,CAAA,CAAA;AACpC,EAAM,MAAA,IAAA,GAAO,QAAQ,aAAc,CAAA,IAAA,CAAA;AAEnC,EAAA,MAAM,KAAQ,GAAA,GAAA;AAAA,IACZ,IAAK,CAAA,WAAA;AAAA,IACL,IAAK,CAAA,WAAA;AAAA,IACL,IAAK,CAAA,WAAA;AAAA,IACL,IAAK,CAAA,WAAA;AAAA,GACP,CAAA;AACA,EAAA,MAAM,MAAS,GAAA,GAAA;AAAA,IACb,IAAK,CAAA,YAAA;AAAA,IACL,IAAK,CAAA,YAAA;AAAA,IACL,IAAK,CAAA,YAAA;AAAA,IACL,IAAK,CAAA,YAAA;AAAA,GACP,CAAA;AAEA,EAAA,IAAI,CAAI,GAAA,CAAC,MAAO,CAAA,UAAA,GAAa,oBAAoB,OAAO,CAAA,CAAA;AACxD,EAAM,MAAA,CAAA,GAAI,CAAC,MAAO,CAAA,SAAA,CAAA;AAElB,EAAA,IAAI,gBAAiB,CAAA,IAAI,CAAE,CAAA,SAAA,KAAc,KAAO,EAAA;AAC9C,IAAA,CAAA,IAAK,GAAI,CAAA,IAAA,CAAK,WAAa,EAAA,IAAA,CAAK,WAAW,CAAI,GAAA,KAAA,CAAA;AAAA,GACjD;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,IACA,MAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,GACF,CAAA;AACF;;;;"}