{"_id":"@aethex.os/mobile","_rev":"4-9202907e93d18abe9efa5b8fd9f61252","name":"@aethex.os/mobile","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@aethex.os/mobile","version":"1.0.0","keywords":["aethex","react","hooks","capacitor","mobile","haptics","camera","biometric","ios","android"],"author":{"name":"AeThex Corporation"},"license":"MIT","_id":"@aethex.os/mobile@1.0.0","maintainers":[{"name":"mrpiglr","email":"mrpiglr@aethex.dev"}],"homepage":"https://aethex.dev","bugs":{"url":"https://github.com/AeThex-Corporation/AeThex-OS/issues"},"dist":{"shasum":"526d97c971120431f4559076a0660068d4f95ee8","tarball":"https://registry.npmjs.org/@aethex.os/mobile/-/mobile-1.0.0.tgz","fileCount":21,"integrity":"sha512-04Sd6U7YlzTO6Rb1oB5HN8h0InhKYsOfJ+VVDUy6g2ryls6qiIw4bhlE6m3hq4phQBvEd7BFTphXkIBp7vyeYA==","signatures":[{"sig":"MEYCIQD+CdKq6O59IuBrFXYGoHwD7gWCzXL8xnKhwsMT6KQyqAIhANqX8N+zbpoV1wSLdbWbFxL6GSju/w7olU5Te8Y9F0l/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24074},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"b094d5c032765a30612c2348ce0356d3a50d9feb","scripts":{"dev":"tsc --watch","build":"tsc"},"_npmUser":{"name":"mrpiglr","email":"mrpiglr@aethex.dev"},"repository":{"url":"git+https://github.com/AeThex-Corporation/AeThex-OS.git","type":"git","directory":"packages/aethex-mobile"},"_npmVersion":"11.12.1","description":"AeThex mobile hooks — platform detection, haptics, camera, and biometric auth for Capacitor apps","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@capacitor/core":"^6.0.0","@capacitor/camera":"^6.0.0","@capacitor/haptics":"^6.0.0","capacitor-native-biometric":"^4.2.2"},"peerDependencies":{"react":">=17.0.0","@capacitor/core":">=6.0.0","@capacitor/camera":">=6.0.0","@capacitor/haptics":">=6.0.0","capacitor-native-biometric":">=4.0.0"},"peerDependenciesMeta":{"@capacitor/camera":{"optional":true},"@capacitor/haptics":{"optional":true},"capacitor-native-biometric":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_1.0.0_1777697674266_0.5168356715346263","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aethex.os/mobile","version":"1.1.0","keywords":["aethex","react","hooks","capacitor","mobile","haptics","camera","biometric","ios","android"],"author":{"name":"AeThex Corporation"},"license":"MIT","_id":"@aethex.os/mobile@1.1.0","maintainers":[{"name":"mrpiglr","email":"mrpiglr@aethex.dev"}],"homepage":"https://aethex.dev","bugs":{"url":"https://github.com/AeThex-Corporation/AeThex-OS/issues"},"dist":{"shasum":"d8b2c23fd5509c76dcb527694ae66a02567c104d","tarball":"https://registry.npmjs.org/@aethex.os/mobile/-/mobile-1.1.0.tgz","fileCount":41,"integrity":"sha512-cy0d2CEMxPWHs89uBF0mFoXjlSCKSObaOJKODS9Sy5WqSlQxkAa2YwZnRW8Kt9gK8BmV8nIokMjlRiiL3BUOfQ==","signatures":[{"sig":"MEUCICHg7XpHj2XM2PKYxTwjk9gors1ARdsHI2I9L0Aeq+upAiEA0ljfuDhGeY4rxS+HldJjIL38n0qzzAjtAAWrM+Ijxc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47107},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"b094d5c032765a30612c2348ce0356d3a50d9feb","scripts":{"dev":"tsc --watch","build":"tsc"},"_npmUser":{"name":"mrpiglr","email":"mrpiglr@aethex.dev"},"repository":{"url":"git+https://github.com/AeThex-Corporation/AeThex-OS.git","type":"git","directory":"packages/aethex-mobile"},"_npmVersion":"11.12.1","description":"AeThex mobile hooks — platform detection, haptics, camera, biometric auth, geolocation, network, filesystem, toast, and contacts for Capacitor apps","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@capacitor/core":"^6.0.0","@capacitor/toast":"^6.0.0","@capacitor/camera":"^6.0.0","@capacitor/haptics":"^6.0.0","@capacitor/network":"^6.0.0","@capacitor/filesystem":"^6.0.0","@capacitor/geolocation":"^6.0.0","capacitor-native-biometric":"^4.2.2","@capacitor-community/contacts":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","@capacitor/core":">=6.0.0","@capacitor/toast":">=6.0.0","@capacitor/camera":">=6.0.0","@capacitor/haptics":">=6.0.0","@capacitor/network":">=6.0.0","@capacitor/filesystem":">=6.0.0","@capacitor/geolocation":">=6.0.0","capacitor-native-biometric":">=4.0.0","@capacitor-community/contacts":">=6.0.0"},"peerDependenciesMeta":{"@capacitor/toast":{"optional":true},"@capacitor/camera":{"optional":true},"@capacitor/haptics":{"optional":true},"@capacitor/network":{"optional":true},"@capacitor/filesystem":{"optional":true},"@capacitor/geolocation":{"optional":true},"capacitor-native-biometric":{"optional":true},"@capacitor-community/contacts":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_1.1.0_1777698344779_0.9982320458757432","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@aethex.os/mobile","version":"1.1.1","keywords":["aethex","react","hooks","capacitor","mobile","haptics","camera","biometric","ios","android"],"author":{"name":"AeThex Corporation"},"license":"MIT","_id":"@aethex.os/mobile@1.1.1","maintainers":[{"name":"mrpiglr","email":"mrpiglr@aethex.dev"}],"homepage":"https://aethex.dev","bugs":{"url":"https://github.com/AeThex-Corporation/AeThex-OS/issues"},"dist":{"shasum":"82582206e4976217d1913830fadff906a026da23","tarball":"https://registry.npmjs.org/@aethex.os/mobile/-/mobile-1.1.1.tgz","fileCount":42,"integrity":"sha512-igC0OSk2XQv7BmRie+hXnW2FRe8iKNEYz9iG+3C2lM8fpxpbBuww+GlL87FroGbtsvQwryuMVgk8/D99kNWFZA==","signatures":[{"sig":"MEUCIHSQtk0fq8YejDMW7ccxFTvS74nEZdqJMLhdeGUmycnVAiEAnwhp8J+2LHntLO5hIitun3G9IcCFdlN/KJtior5QtnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49549},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"b094d5c032765a30612c2348ce0356d3a50d9feb","scripts":{"dev":"tsc --watch","build":"tsc"},"_npmUser":{"name":"mrpiglr","email":"mrpiglr@aethex.dev"},"repository":{"url":"git+https://github.com/AeThex-Corporation/AeThex-OS.git","type":"git","directory":"packages/aethex-mobile"},"_npmVersion":"11.12.1","description":"AeThex mobile hooks — platform detection, haptics, camera, biometric auth, geolocation, network, filesystem, toast, and contacts for Capacitor apps","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@capacitor/core":"^6.0.0","@capacitor/toast":"^6.0.0","@capacitor/camera":"^6.0.0","@capacitor/haptics":"^6.0.0","@capacitor/network":"^6.0.0","@capacitor/filesystem":"^6.0.0","@capacitor/geolocation":"^6.0.0","capacitor-native-biometric":"^4.2.2","@capacitor-community/contacts":"^6.0.0"},"peerDependencies":{"react":">=17.0.0","@capacitor/core":">=6.0.0","@capacitor/toast":">=6.0.0","@capacitor/camera":">=6.0.0","@capacitor/haptics":">=6.0.0","@capacitor/network":">=6.0.0","@capacitor/filesystem":">=6.0.0","@capacitor/geolocation":">=6.0.0","capacitor-native-biometric":">=4.0.0","@capacitor-community/contacts":">=6.0.0"},"peerDependenciesMeta":{"@capacitor/toast":{"optional":true},"@capacitor/camera":{"optional":true},"@capacitor/haptics":{"optional":true},"@capacitor/network":{"optional":true},"@capacitor/filesystem":{"optional":true},"@capacitor/geolocation":{"optional":true},"capacitor-native-biometric":{"optional":true},"@capacitor-community/contacts":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mobile_1.1.1_1777932473262_0.12953181533266522","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@aethex.os/mobile","version":"1.1.2","description":"AeThex mobile hooks — platform detection, haptics, camera, biometric auth, geolocation, network, filesystem, toast, and contacts for Capacitor apps","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"tsc","dev":"tsc --watch"},"keywords":["aethex","react","hooks","capacitor","mobile","haptics","camera","biometric","ios","android"],"author":{"name":"AeThex Corporation"},"license":"MIT","homepage":"https://aethex.dev/docs","repository":{"type":"git","url":"git+https://git.aethex.tech/Labs/os.git","directory":"packages/aethex-mobile"},"peerDependencies":{"react":">=17.0.0","@capacitor/core":">=6.0.0","@capacitor/haptics":">=6.0.0","@capacitor/camera":">=6.0.0","capacitor-native-biometric":">=4.0.0","@capacitor/geolocation":">=6.0.0","@capacitor/network":">=6.0.0","@capacitor/filesystem":">=6.0.0","@capacitor/toast":">=6.0.0","@capacitor-community/contacts":">=6.0.0"},"peerDependenciesMeta":{"@capacitor/haptics":{"optional":true},"@capacitor/camera":{"optional":true},"capacitor-native-biometric":{"optional":true},"@capacitor/geolocation":{"optional":true},"@capacitor/network":{"optional":true},"@capacitor/filesystem":{"optional":true},"@capacitor/toast":{"optional":true},"@capacitor-community/contacts":{"optional":true}},"devDependencies":{"@capacitor/camera":"^6.0.0","@capacitor/core":"^6.0.0","@capacitor/filesystem":"^6.0.0","@capacitor/geolocation":"^6.0.0","@capacitor/haptics":"^6.0.0","@capacitor/network":"^6.0.0","@capacitor/toast":"^6.0.0","@capacitor-community/contacts":"^6.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","capacitor-native-biometric":"^4.2.2","typescript":"^5.3.0"},"engines":{"node":">=18.0.0"},"bugs":{"url":"https://git.aethex.tech/Labs/os/issues"},"_id":"@aethex.os/mobile@1.1.2","gitHead":"6c77abd6440deb925777f64998d4c67a398236e0","_nodeVersion":"22.22.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-AvcAwyyADBxWqpBo+LaqIx2soflMz8YRvi31rhYpRF96eRkRJQTMThayRcyk0k36MUOMx0F6xaB6nOIWPJotyA==","shasum":"a079ca918c932012a6822e1c0fa4d58ec19db5bc","tarball":"https://registry.npmjs.org/@aethex.os/mobile/-/mobile-1.1.2.tgz","fileCount":42,"unpackedSize":49611,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDEpXFWzfclbM7CbEAfG7iTMoA0qrc1c+uA3bThVPsVVQIgf/ThwRhLsRBMs+RddzesXVUds2pyoEwtA4Cd1UANrmI="}]},"_npmUser":{"name":"mrpiglr","email":"mrpiglr@aethex.dev"},"directories":{},"maintainers":[{"name":"mrpiglr","email":"mrpiglr@aethex.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mobile_1.1.2_1783400208415_0.08766236689574325"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-02T04:54:34.175Z","modified":"2026-07-07T04:56:48.712Z","1.0.0":"2026-05-02T04:54:34.454Z","1.1.0":"2026-05-02T05:05:44.922Z","1.1.1":"2026-05-04T22:07:53.419Z","1.1.2":"2026-07-07T04:56:48.569Z"},"bugs":{"url":"https://git.aethex.tech/Labs/os/issues"},"author":{"name":"AeThex Corporation"},"license":"MIT","homepage":"https://aethex.dev/docs","keywords":["aethex","react","hooks","capacitor","mobile","haptics","camera","biometric","ios","android"],"repository":{"type":"git","url":"git+https://git.aethex.tech/Labs/os.git","directory":"packages/aethex-mobile"},"description":"AeThex mobile hooks — platform detection, haptics, camera, biometric auth, geolocation, network, filesystem, toast, and contacts for Capacitor apps","maintainers":[{"name":"mrpiglr","email":"mrpiglr@aethex.dev"}],"readme":"# @aethex.os/mobile\n\nReact hooks for Capacitor mobile apps — platform detection, haptics, camera, biometric auth, geolocation, network status, filesystem, toast, and device contacts.\n\n## Install\n\n```bash\nnpm install @aethex.os/mobile\n```\n\nInstall the Capacitor plugins for the hooks you use:\n\n```bash\nnpm install @capacitor/haptics @capacitor/camera @capacitor/geolocation \\\n            @capacitor/network @capacitor/filesystem @capacitor/toast \\\n            capacitor-native-biometric @capacitor-community/contacts\n```\n\n## Platform Detection\n\n```ts\nimport { isMobile, isDesktop, isWeb, detectPlatform } from '@aethex.os/mobile';\n\ndetectPlatform(); // 'mobile' | 'desktop' | 'web'\nisMobile();       // true on Capacitor iOS/Android\n```\n\n## Hooks\n\n### useHaptics\n\n```tsx\nconst { impact, notification, vibrate } = useHaptics();\n\nawait impact('medium');            // light | medium | heavy\nawait notification('success');     // success | warning | error\nawait vibrate(50);                 // ms, falls back to navigator.vibrate\n```\n\n### useDeviceCamera\n\n```tsx\nconst { takePhoto, pickPhoto, photo } = useDeviceCamera();\n\nconst result = await takePhoto();\n// result.webPath, result.path, result.format\n```\n\n### useBiometricAuth\n\n```tsx\nconst { isAvailable, biometricType, authenticate } = useBiometricAuth();\n// biometricType: 'fingerprint' | 'face' | 'iris' | 'none'\n\nconst ok = await authenticate('Confirm your identity');\n```\n\n### useGeolocation\n\n```tsx\nconst { position, getCurrentPosition, startWatching } = useGeolocation();\n\nconst pos = await getCurrentPosition();\n// pos.coords.latitude, pos.coords.longitude, pos.coords.accuracy\n```\n\n### useNetwork\n\n```tsx\nconst { connected, connectionType } = useNetwork();\n// connectionType: 'wifi' | 'cellular' | '4g' | 'unknown' | ...\n```\n\n### useFilesystem\n\n```tsx\nconst { writeFile, readFile, listFiles } = useFilesystem();\n\nawait writeFile('notes.txt', 'hello');\nconst content = await readFile('notes.txt');\n```\n\n### useToast\n\n```tsx\nconst { show } = useToast();\nawait show('Saved!', 'short', 'bottom');\n```\n\n### useDeviceContacts\n\n```tsx\nconst { fetchContacts, contacts } = useDeviceContacts();\n\nawait fetchContacts();\n// contacts[0].displayName, .phoneNumbers, .emails\n```\n\n## Part of the @aethex.os ecosystem\n\nSee [@aethex.os/core](https://npmjs.com/package/@aethex.os/core) for the full package list.\n","readmeFilename":"README.md"}