{"id":13581298,"url":"https://github.com/candlefinance/haptics","last_synced_at":"2025-04-06T07:31:56.007Z","repository":{"id":197013675,"uuid":"697832570","full_name":"candlefinance/haptics","owner":"candlefinance","description":"Haptics for React Native with support for custom patterns and ahap files.","archived":false,"fork":false,"pushed_at":"2023-11-12T14:33:53.000Z","size":1798,"stargazers_count":54,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-20T17:41:35.851Z","etag":null,"topics":["ahap","corehaptics","haptics","ios","react-native","uifeedbackgenerator","uikit"],"latest_commit_sha":null,"homepage":"https://candle.fi","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/candlefinance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-28T15:07:42.000Z","updated_at":"2024-04-30T00:30:40.060Z","dependencies_parsed_at":"2024-05-04T22:45:21.727Z","dependency_job_id":null,"html_url":"https://github.com/candlefinance/haptics","commit_stats":null,"previous_names":["candlefinance/haptics"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candlefinance%2Fhaptics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candlefinance%2Fhaptics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candlefinance%2Fhaptics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candlefinance%2Fhaptics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/candlefinance","download_url":"https://codeload.github.com/candlefinance/haptics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247450119,"owners_count":20940858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ahap","corehaptics","haptics","ios","react-native","uifeedbackgenerator","uikit"],"created_at":"2024-08-01T15:02:00.095Z","updated_at":"2025-04-06T07:31:54.400Z","avatar_url":"https://github.com/candlefinance.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@candlefinance/haptics\"\u003e\n  \u003cimg src=\"https://img.shields.io/npm/dm/@candlefinance/haptics\" alt=\"npm downloads\" /\u003e\n\u003c/a\u003e\n  \u003ca alt=\"discord users online\" href=\"https://discord.gg/qnAgjxhg6n\" \n  target=\"_blank\"\n  rel=\"noopener noreferrer\"\u003e\n    \u003cimg alt=\"discord users online\" src=\"https://img.shields.io/discord/986610142768406548?label=Discord\u0026logo=discord\u0026logoColor=white\u0026cacheSeconds=3600\"/\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003ch1 align=\"center\"\u003e\n   Haptics for React Native\n\u003c/h1\u003e\n\n\u003cbr/\u003e\n\nSupports playing haptics on iOS with default UIImpactFeedbackGenerator and CoreHaptics for patterns and ahap files. Vibrates on Android.\n\n## Installation\n\n```sh\nyarn add @candlefinance/haptics\n```\n\n```sh\nnpm i @candlefinance/haptics\n```\n\n## Basic Usage\n\nThere are three functions:\n\n```js\nimport { haptic, hapticWithPattern } from '@candlefinance/haptics';\n\n// light, medium, heavy, soft, rigid, warning, error, success, selectionChanged\nhaptic('medium');\n\n// pattern (iOS only)\nhapticWithPattern(['.', '.', '.', 'o', 'O', '-', 'O', 'o', '.', '.', '.', '.']);\n\n// play ahap file (iOS only)\nplay('fileName');\n```\n\nThe pattern format:\n\n```\n- 'o' - medium impact\n- 'O' - heavy impact\n- '.' - light impact\n- ':' - soft impact\n- '-' - wait of 0.1 second\n- '=' - wait of 1 second\n```\n\nFor playing ahap files to the root of your project add a folder called `haptics` and add your ahap files there. Use (Haptrix)[https://www.haptrix.com/] or equivalent to generate ahap files.\n\n## Contributing\n\nJoin our [Discord](https://discord.gg/qnAgjxhg6n) and ask questions in the **#oss** channel.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandlefinance%2Fhaptics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcandlefinance%2Fhaptics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandlefinance%2Fhaptics/lists"}