Skip to content

Component-wrapper to determine and report children elements height

License

Notifications You must be signed in to change notification settings

infernojs/inferno-height

 
 

Repository files navigation

react-height npm

Gitter

CircleCI AppVeyor Coverage Dependencies Dev Dependencies

Component-wrapper to determine and report children elements height

React Height

Installation

NPM

npm install --save react react-height

Don't forget to manually install peer dependencies (react) if you use npm@3.

Bower:

bower install --save https://unpkg.com/react-height/bower.zip

or in bower.json

{
  "dependencies": {
    "react-height": "https://unpkg.com/react-height/bower.zip"
  }
}

then include as

<script src="bower_components/react/react.js"></script>
<script src="bower_components/react-height/build/react-height.js"></script>

1998 Script Tag:

<script src="https://unpkg.com/react/dist/react.js"></script>
<script src="https://unpkg.com/react-height/build/react-height.js"></script>
(Module exposed as `ReactHeight`)

Demo

http://nkbt.github.io/react-height/example

Codepen demo

http://codepen.io/nkbt/pen/NGzgGb

Usage

<ReactHeight onHeightReady={height => console.log(height)}>
  <div>Random content</div>
</ReactHeight>

Options

onHeightReady: PropTypes.function.isRequired

Callback, invoked when height is measured (and when it is changed).

children: PropTypes.node.isRequired

One or multiple children with static, variable or dynamic height.

<ReactHeight onHeightReady={height => console.log(height)}>
  <p>Paragraph of text</p>
  <p>Another paragraph is also OK</p>
  <p>Images and any other content are ok too</p>
  <img src="nyancat.gif">
</ReactHeight>

hidden: PropTypes.bool (default: false)

ReactHeight can render to null as soon as height is measured.

<ReactHeight hidden={true} onHeightReady={height => console.log(height)}>
  <div>Will be removed from the DOM when height is measured</div>
</ReactHeight>

Pass-through props

All other props are applied to a container that is being measured. So it is possible to pass style or className, for example.

<ReactHeight onHeightReady={height => console.log(height)}
  style={{width: 200, border: '1px solid red'}}
  className="myComponent">

  <div>
    Wrapper around this element will have red border, 200px width
    and `class="myComponent"`
  </div>
</ReactHeight>

Development and testing

Currently is being developed and tested with the latest stable Node 5 on OSX and Windows. Should be ok with Node 4, but not guaranteed.

To run example covering all ReactHeight features, use npm start, which will compile src/example/Example.js

git clone git@github.com:nkbt/react-height.git
cd react-height
npm install
npm start

# then
open http://localhost:8080

Tests

npm test

# to run tests in watch mode for development
npm run test:dev

# to generate test coverage (./reports/coverage)
npm run test:cov

License

MIT

About

Component-wrapper to determine and report children elements height

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.7%
  • CSS 3.3%