react-target-popup-modal
v1.0.0
Published
react component for highlighting any element of DOM with optional description which rendering in renderProps
Downloads
5
Readme
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-modal
Usage
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