Skip to content
This repository has been archived by the owner on Jul 7, 2022. It is now read-only.

nschnierer/react-border-distance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Border Distance

version

A higher-order component (HOC) to get the distance of a react element to a scrollable element or window border. Helpful for action-based overlapping content e.g. dropdown or tooltips.

react-border-distance

Usage

The package can be installed via NPM:

npm install --save react-border-distance

Example with decorator (e.g. babel-plugin-transform-decorators-legacy):

distance prop is only available when the mouse enters the component (onMouseEnter).

import React from "react";
import borderDistance from "react-border-distance";

@borderDistance()
class DropDown extends React.Component {
  /*...*/
  render() {
    const { distance } = this.props;

    const type = distance && distance.bottom < 100
      ? "dropup"
      : "dropdown";

    return(
      <div className={`${type}`}>
      </div>
    );
  }
}

Example without decorator:

import React from "react";
import borderDistance from "react-border-distance";

class DropDown extends React.Component {
  /*... see above ...*/
}

export default borderDistance()(DropDown);

Style wrapper component:

@borderDistance({ position: "relative" }, "class-name")
class ...

// or

export default borderDistance({ position: "relative" }, "class-name")(DropDown);

Available Props

distance: object;

An Object which contains the distance. { top: number, right: number, bottom: number, left: number } (Only available onMouseEnter)

License

MIT

About

Higher-order component (HOC) to get the distance to window border or scrollable element.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published