
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-native-image-mapper
Advanced tools
React Native component to allow clickable areas on an image
$ yarn add react-native-image-mapper --save
Import the ImageMapper component from react-native-image-mapper and use it as seen below:
import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { Image Mapper } from 'react-native-image-mapper';
const imageSource = require('./path/to/my/image.jpg');
const MAPPING = [
{
id: '0',
name: 'First Area Name',
shape: 'rectangle',
width: 30,
height: 40,
x1: 80,
y1: 500,
prefill: 'red',
fill: 'blue'
},
{
id: '1',
name: 'Second Area Name',
shape: 'rectangle',
x2: 155,
y2: 540,
x1: 125,
y1: 500
},
]
class MyReactNativeComponent extends Component {
// ....
render() {
return (
<ImageMapper
imgHeight={500}
imgWidth={250}
imgSource={imageSource}
imgMap={MAPPING}
onPress={(item, idx, event) => this.onAnyAreaPress(item, idx, event)}
containerStyle={styles.myCustomStyle}
selectedAreaId="my_area_id"
/>
);
}
}
| Prop Name | Type | Description | Example |
|---|---|---|---|
| imgSource | string | Image source url | required |
| imgMap | array | Mapping for image | See below |
| selectedAreaId | string or array | ID of the currently selected area or array of ids | 'areaOne' or ['areaOne', 'areaTwo'] |
| imgWidth | number | Image width | Displayed width |
| imgHeight | number | Image height | Displayed height |
| multiselect | boolean | Defaults to false. Allows for tracking of multiple selections. | true or false |
When multiselect is set to true, selectedAreaId must be an array of ids rather than a string
| Props callbacks | Called on | Signature |
|---|---|---|
| onPress | Click on an area in image | (item: object, index: number, event: object) |
imgMap is an object describing touchable areas in the image.
| Property | Type | Description |
|---|---|---|
| id | string | ID of the item used for selected or not selected |
| name | string | Name of the item |
| shape | string | Required - Either rectangle or circle |
| prefill | string | rgba(255, 255, 255, 0.5) |
| fill | string | rgba(255, 255, 255, 0.5) |
| x1 | number | Required - Top Left X coordinate in rectangle or Center X coordinate in circle |
| y1 | number | Required - Top Left Y coordinate in rectangle or Center Y coordinate in circle |
| x2 | number | Required for Rectangle unless width (below) is specified - Bottom Left X coordinate in rectangle |
| y2 | number | Required for Rectangle unless height (below) is specified - Bottom Left Y coordinate in rectangle |
| width | number | Required for Rectangle unless x2 (above) is specified - Width of rectangle |
| height | number | Required for Rectangle unless y2 (above) is specified - Height of rectangle |
| radius | number | Required for Circle - Radius of circle |
Big thanks to Coldiary and his React project
Copyright (c) 2019 Marc Salo MIT License See LICENSE for specifics
FAQs
React Native component to allow clickable areas on an image
We found that react-native-image-mapper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.