{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["import { getWindow, getDocument } from \"ssr-window\";\r\n\r\nexport type TIsTouchDeviceArgs = Parameters<typeof isTouchDevice>;\r\n\r\nexport type TIsTouchDeviceReturn = ReturnType<typeof isTouchDevice>;\r\n\r\n/**\r\n * Detects if the current device likely has a touch screen.\r\n * Avoids false positives from non-browser envs (like `jsdom`).\r\n * @example\r\n * const isTouchScreen = isTouchDevice(); // {boolean}\r\n * @returns {boolean}\r\n */\r\nexport const isTouchDevice = (): boolean => {\r\n  const win = getWindow();\r\n  const doc = getDocument();\r\n\r\n  const isRealDocument = !!(doc && typeof doc.createElement === \"function\" && doc.nodeType === 9);\r\n\r\n  const isJsdom = typeof win?.navigator?.userAgent === \"string\" && /\\bjsdom\\b/i.test(win.navigator.userAgent);\r\n\r\n  const isHasTouchEvent = !!(typeof win !== \"undefined\" && \"ontouchstart\" in win && isRealDocument && !isJsdom);\r\n\r\n  return !!(\r\n    isHasTouchEvent\r\n    || (typeof win.navigator?.maxTouchPoints !== \"undefined\" && win.navigator.maxTouchPoints)\r\n    || (typeof (win.navigator as any).msMaxTouchPoints !== \"undefined\" && (win.navigator as any).msMaxTouchPoints)\r\n    || ((win as any).DocumentTouch && doc instanceof (win as any).DocumentTouch)\r\n    || (win.navigator?.msPointerEnabled && (win as any).MSGesture)\r\n  );\r\n};\r\n"],"names":["isTouchDevice","win","getWindow","doc","getDocument","isRealDocument","createElement","nodeType","isJsdom","navigator","userAgent","test","isHasTouchEvent","maxTouchPoints","msMaxTouchPoints","DocumentTouch","msPointerEnabled","MSGesture"],"mappings":";;;;;;;GAaO,MAAMA,cAAgBA,KAC3B,MAAMC,IAAMC,YACZ,MAAMC,IAAMC,cAEZ,MAAMC,kBAAoBF,YAAcA,IAAIG,gBAAkB,YAAcH,IAAII,WAAa,GAE7F,MAAMC,eAAiBP,KAAKQ,WAAWC,YAAc,UAAY,aAAaC,KAAKV,IAAIQ,UAAUC,WAEjG,MAAME,0BAA4BX,MAAQ,aAAe,iBAAkBA,KAAOI,iBAAmBG,SAErG,SACEI,wBACWX,IAAIQ,WAAWI,iBAAmB,aAAeZ,IAAIQ,UAAUI,uBAC9DZ,IAAIQ,UAAkBK,mBAAqB,aAAgBb,IAAIQ,UAAkBK,kBACxFb,IAAYc,eAAiBZ,eAAgBF,IAAYc,eAC1Dd,IAAIQ,WAAWO,kBAAqBf,IAAYgB"}