{"version":3,"file":"get-visual-offsets.mjs","sources":["../../../../../../../packages/hooks/use-floating/dom/utils/get-visual-offsets.ts"],"sourcesContent":["import { createCoords } from '@vuesax-alpha/hooks/use-floating/utils'\nimport { getWindow, isWebKit } from '@vuesax-alpha/hooks/use-floating/utils/dom'\nimport type { Coords } from '@vuesax-alpha/hooks/use-floating/utils'\n\nconst noOffsets = createCoords(0)\n\nexport function getVisualOffsets(element: Element | undefined): Coords {\n  const win = getWindow(element)\n\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets\n  }\n\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop,\n  }\n}\n\nexport function shouldAddVisualOffsets(\n  element: Element | undefined,\n  isFixed = false,\n  floatingOffsetParent?: Element | Window | undefined\n): boolean {\n  if (\n    !floatingOffsetParent ||\n    (isFixed && floatingOffsetParent !== getWindow(element))\n  ) {\n    return false\n  }\n\n  return isFixed\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,SAAA,GAAY,aAAa,CAAC,CAAA,CAAA;AAEzB,SAAS,iBAAiB,OAAsC,EAAA;AACrE,EAAM,MAAA,GAAA,GAAM,UAAU,OAAO,CAAA,CAAA;AAE7B,EAAA,IAAI,CAAC,QAAA,EAAc,IAAA,CAAC,IAAI,cAAgB,EAAA;AACtC,IAAO,OAAA,SAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA;AAAA,IACL,CAAA,EAAG,IAAI,cAAe,CAAA,UAAA;AAAA,IACtB,CAAA,EAAG,IAAI,cAAe,CAAA,SAAA;AAAA,GACxB,CAAA;AACF,CAAA;AAEO,SAAS,sBACd,CAAA,OAAA,EACA,OAAU,GAAA,KAAA,EACV,oBACS,EAAA;AACT,EAAA,IACE,CAAC,oBACA,IAAA,OAAA,IAAW,oBAAyB,KAAA,SAAA,CAAU,OAAO,CACtD,EAAA;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAEA,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}