{"id":23709452,"url":"https://github.com/qeepsake/react-native-action-tips","last_synced_at":"2025-08-30T16:11:32.060Z","repository":{"id":38173586,"uuid":"146411428","full_name":"Qeepsake/react-native-action-tips","owner":"Qeepsake","description":"Cross platform tooltip for React Native (with TypeScript)","archived":false,"fork":false,"pushed_at":"2022-06-10T00:54:31.000Z","size":13336,"stargazers_count":7,"open_issues_count":10,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-29T07:30:43.238Z","etag":null,"topics":["javascript","popup","react-native","tooltip","tooltips"],"latest_commit_sha":null,"homepage":"https://lukebrandonfarrell.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qeepsake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-28T07:49:04.000Z","updated_at":"2022-09-23T17:27:07.000Z","dependencies_parsed_at":"2022-09-02T11:32:29.059Z","dependency_job_id":null,"html_url":"https://github.com/Qeepsake/react-native-action-tips","commit_stats":null,"previous_names":["lukebrandonfarrell/react-native-action-tips"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Qeepsake/react-native-action-tips","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qeepsake%2Freact-native-action-tips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qeepsake%2Freact-native-action-tips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qeepsake%2Freact-native-action-tips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qeepsake%2Freact-native-action-tips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qeepsake","download_url":"https://codeload.github.com/Qeepsake/react-native-action-tips/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qeepsake%2Freact-native-action-tips/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272873106,"owners_count":25007472,"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","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["javascript","popup","react-native","tooltip","tooltips"],"created_at":"2024-12-30T18:29:53.117Z","updated_at":"2025-08-30T16:11:32.044Z","avatar_url":"https://github.com/Qeepsake.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-native-action-tips\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n[![npm](https://img.shields.io/npm/v/react-native-action-tips.svg?style=flat-square)](https://www.npmjs.com/package/react-native-action-tips)\n[![npm licence](http://img.shields.io/npm/l/react-native-action-tips.svg?style=flat-square)](https://npmjs.org/package/react-native-action-tips)\n[![npm downloads](http://img.shields.io/npm/dt/react-native-action-tips.svg?style=flat-square)](https://npmjs.org/package/react-native-action-tips)\n\nCross platform tooltip for React Native.\n\n  \u003cimg align=\"left\" src=\"https://raw.githubusercontent.com/LukeBrandonFarrell/open-source-images/master/react-native-action-tips/ios.png\" width=\"45%\" /\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/LukeBrandonFarrell/open-source-images/master/react-native-action-tips/android.png\" width=\"45%\" /\u003e\n\n## Install\n\nTo get started install via npm:\n```sh\n npm install react-native-action-tips --save\n```\n\n## Usage\n\nImport:\n```js\n import ActionTip from 'react-native-action-tips';\n```\n\nYou can use the imperative API to control the action tip:\n```js\nconst actionTipRef = useRef(null);\n\n\u003cActionTip\n  ref={actionTipRef}\n  position={{ top: 50 }}\n/\u003e\n\nsomeMethod() {\n  actionTipRef.current.show(\"Link has been copied\");\n}\n\n```\nThe declarative API for controlling the action tip:\n\n```js\nconst [isVisible, setIsVisible] = useState(false);\n\n\u003cActionTip\n  visible={isVisible}\n  text=\"Link has been copied\"\n  position={{ top: 50 }}\n/\u003e\n```\n\n## Notes\n\nThe action tip exposes imperative `show()` and `hide()` functions.\n\nThe position of the component can be customised through the `position` prop by passing an object as such `{ top: 0, bottom: 0, left: 0, right: 0 }`. By default the component uses `\"absolute\"` positioning. This can be changed by passing style through the `containerStyle` prop.\n\n\u003cimg src=\"https://raw.githubusercontent.com/LukeBrandonFarrell/open-source-images/master/react-native-action-tips/tip.png\" width=\"45%\" /\u003e\n\n## Props\n\n| Prop            | Type          | Optional  | Default              | Description                                                                             |\n| --------------- | ------------- | --------- | -------------------- | --------------------------------------------------------------------------------------- |\n| ref           | string        | Yes        |                      | ref allows you to call the `show()` and `hide()` methods.                             |\n| text            | string        | Yes        |                      | Text which is displayed inside the action tip.     \n| visible         | boolean        | Yes        |                      | Controls the tooltip visibility.                |\n| duration        | number        | Yes       | 2000 ms              | Duration until the action tip dismisses.                                                |\n| animationInDuration  | number   | Yes       | 150 ms               | Duration of fade-in animation.                                                          |\n| animationOutDuration | number   | Yes       | 700 ms               | Duration of fade-out animation.                                                         |\n| opacity         | number        | Yes       | 0.85                 | Maximum opacity the tip should animate to.                                              |\n| position        | object        | Yes       | 0                    | Absolute positioning of the component.                                                  |                                 |\n| containerStyle  | style         | Yes       |                      | Style applied to the action tip container.                                              |\n| textStyle   | style    | Yes       |                      | Style applied to the action tip text.                                                   |\n| onHide   | function    | Yes       |                      | Callback when tooltip is hidden                                                   |\n## Contributing\n\nIf you want to issue a PR, go ahead ;)\n\n## Authors\n\n* [**Luke Brandon Farrell**](https://lukebrandonfarrell.com/) - *Author*\n* [**Aspect One**](https://github.com/aspect-one/) - *Organization*\n\n## License\n\nThis project is licensed under the MIT License\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.lukebrandonfarrell.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/18139277?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuke Brandon Farrell\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/aspect-apps/react-native-action-tips/commits?author=lukebrandonfarrell\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/codeandgabe\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/30446226?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGabriel Ribeiro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/aspect-apps/react-native-action-tips/issues?q=author%3Acodeandgabe\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqeepsake%2Freact-native-action-tips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqeepsake%2Freact-native-action-tips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqeepsake%2Freact-native-action-tips/lists"}