1.0.0 • Published 5 years ago
react-target-popup-modal v1.0.0
react-target-popup-modal
react component for highlighting any element of DOM with optional description which rendering in renderProps.
NOTE
- the component need to render on top level of app.
Install
npm install --save react-target-popup-modalUsage
import React from 'react';
import {
TargetPopup,
TargetPopupRenderWrapper,
} from 'react-target-popup-modal';
import 'react-target-popup-modal/dist/index.css';
const App = () => {
return (
<div className='layout'>
<div className='.some-element' />
<TargetPopup
querySelector='.some-element'
color='#32e23d73'
padding={20}
renderElem={(elem) => (
<TargetPopupRenderWrapper
node={elem}
position='TOP'
distance={distancePX}
distanceY={distancePercent}
>
<p className='paragraph'>Hello! I've rendered on TOP!</p>
</TargetPopupRenderWrapper>
)}
/>
</div>
);
};TargetPopup props
| name | type | example values | default | description |
|---|---|---|---|---|
| isCanInteractive | boolean | true | true | if false, component just highlighted, but without any interactive events |
| querySelector | string | '.className' or '#id' | empty string | pure Javascript selector, that need to find DOMNode in useEffect and call getBoundingClientRect() |
| padding | number | 10 or -10 | 0 | Number of pixels, that wil increase or decrease highlighting window |
| queryTop | number | -15 or 25 | 0 | Number of pixels, that wil increase or decrease top line of highlighting window |
| queryBottom | number | -10 or 20 | 0 | Number of pixels, that wil increase or decrease bottom line of highlighting window |
| queryLeft | number | -10 or 20 | 0 | Number of pixels, that wil increase or decrease left line of highlighting window |
| queryRight | number | -10 or 20 | 0 | Number of pixels, that wil increase or decrease right line of highlighting window |
| queryTopPercent | number | -2 or 1 | 0 | Number of css vh, that wil increase or decrease top line of highlighting window |
| queryBottomPercent | number | -5 or 15 | 0 | Number of css vh, that wil increase or decrease bottom line of highlighting window |
| queryLeftPercent | number | -12 or 23 | 0 | Number of css vw, that wil increase or decrease left line of highlighting window |
| queryRightPercent | number | -10 or 20 | 0 | Number of css vh, that wil increase or decrease right line of highlighting window |
| color | string | '#dc1bfeb3' or 'rgba(0, 0, 0, 0.4)' | rgba(0, 0, 0, 0.4) | Background color of popup |
| renderElem | JSX.Element or null | (elem) => (Hello! I've rendered on TOP!) | null | It's the renderProp and required function that returns any components, but there parent must be |
TargetPopupRenderWrapper props
| name | type | example values | default | description |
|---|---|---|---|---|
| node | typeof nodeObj | node | node | Required prop, that given from in first argument in renderProp function |
| position | string | 'TOP','LEFT','BOTTOM','RIGHT' | Position relatively highlighted window | |
| distance | number | 10 or -10 | 0 | distance on main axis in pixels (see example for more details) |
| distanceY | number | -15 or 25 | 0 | distance on Y axis relatively main axis in css vw or vh if main axis horizontal (see example for more details) |
| children | React.ReactNode | I'm rendered component | undefined | Common React children |
License
MIT © Immortal230719
1.0.0
5 years ago