{"id":4164,"url":"https://github.com/Tinysymphony/react-native-zoom-image","last_synced_at":"2025-08-04T00:32:27.634Z","repository":{"id":57341706,"uuid":"86797674","full_name":"Tinysymphony/react-native-zoom-image","owner":"Tinysymphony","description":"Image Viewer Component For React Native (like twitter)","archived":false,"fork":false,"pushed_at":"2017-12-09T09:08:04.000Z","size":6058,"stargazers_count":113,"open_issues_count":5,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-29T21:21:51.360Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/Tinysymphony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-31T08:41:19.000Z","updated_at":"2024-06-19T13:51:10.000Z","dependencies_parsed_at":"2022-09-10T20:01:58.181Z","dependency_job_id":null,"html_url":"https://github.com/Tinysymphony/react-native-zoom-image","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinysymphony%2Freact-native-zoom-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinysymphony%2Freact-native-zoom-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinysymphony%2Freact-native-zoom-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tinysymphony%2Freact-native-zoom-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tinysymphony","download_url":"https://codeload.github.com/Tinysymphony/react-native-zoom-image/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228576898,"owners_count":17939645,"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":[],"created_at":"2024-01-05T20:17:03.066Z","updated_at":"2024-12-07T07:31:30.047Z","avatar_url":"https://github.com/Tinysymphony.png","language":"JavaScript","funding_links":[],"categories":["Components","Others","JavaScript"],"sub_categories":["UI","Viewer/Swiper/Carousel"],"readme":"## react-native-zoom-image\n\nZoomImage component for React Native Application (ios / android)\n\n\u003e **Only works with https network images** [With the limitation of the current react-native, we can't get original size of required images. This component just zooms them with given size (provided by `imgStyle` prop)]\n\n\u003e If you need to support http network images, modify info.plist please :)\n\n### Examples\n\n\u003ca href=\"#android\" id=\"android\"\u003e\u003cimg src=\"./GIF/android.gif\" align=\"left\" width=\"240\"/\u003e\u003c/a\u003e\n\n\u003ca href=\"#ios\" id=\"ios\"\u003e\u003cimg src=\"./GIF/ios.gif\" width=\"240\"/\u003e\u003c/a\u003e\n\n### Usage\n\n**install from npm**\n\n``` shell\nnpm install --save react-native-zoom-image\n\n```\n\n**import in project**\n\n``` js\nimport ZoomImage from 'react-native-zoom-image';\nimport {Easing} from 'react-native'; // import Easing if you want to customize easing function\n```\n\n```js\nlet styles = {\n  img: {} // custom styles of original image component\n};\n// in render function\n\u003cZoomImage\n  source={{uri: 'https://ooo.0o0.ooo/2017/03/31/58de0e9b287f6.jpg'}}\n  imgStyle={{width: 250, height: 230}}\n  style={styles.img}\n  duration={200}\n  enableScaling={false}\n  easingFunc={Easing.ease}\n/\u003e\n\n```\n\n## Properties\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| disabled | bool | false | Whether to disable the component or not. |\n| startCapture | bool | false | Whether to capture start touch event or not. |\n| moveCapture | bool | false | Whether to capture move event or not. |\n| responderNegotiate | function | - | Use custom conditions to enable or disable gesture over image modal. |\n| easingFunc | function | Easing.linear | The easing function of animation. |\n| showDuration | number | 100 | The duration of showing the image modal. |\n| closeDuration | number | 140 | The duration of closing the image modal. |\n| rebounceDuration | number | 800 | The total duration of resetting the position of image. The actual duration changes by the displacement of the image in Y-axis. If the displacement equals to the height of screen, the duration shall be 800ms. |\n| enableScaling | bool | false | Whether to scale the image when it is polled. |\n\n### Instance methods\n\n| Method | Params | Description |\n| --- | --- | --- |\n| openModal | - | Open image modal |\n| closeModal | - | Close image modal. |\n\nLICENSE MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTinysymphony%2Freact-native-zoom-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTinysymphony%2Freact-native-zoom-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTinysymphony%2Freact-native-zoom-image/lists"}