npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-native-dimensions-helper

v1.0.3

Published

A lightweight utility for calculating percentages of screen/window dimensions in React Native.

Readme

React Native Dimensions Helper

npm

license

downloads

A lightweight utility for calculating percentages of screen and window dimensions in React Native. This library simplifies responsive design by providing intuitive functions to calculate dimensions based on percentages.


Why Use This Library?

Designing responsive layouts in React Native can be challenging, especially when dealing with different screen sizes and orientations. React Native Dimensions Helper makes it easy to create adaptive UIs by:

  • Simplifying Percentage-Based Styling: Easily calculate percentages of screen or window dimensions without manual math.
  • Optimized for Performance: Results are cached to prevent unnecessary recalculations, ensuring smooth rendering.
  • Handles Orientation Changes: Automatically updates dimensions when the device orientation changes.
  • TypeScript Support: Fully typed for better developer experience in TypeScript projects.
  • Error Handling: Ensures input values are within a valid range (0.1% to 500%), preventing runtime errors.

Whether you're building a small app or a complex UI, this library helps you focus on design rather than calculations.


Installation

Install the library using npm or yarn:

npm install react-native-dimensions-helper

Or with Yarn:

yarn add react-native-dimensions-helper

Usage/Examples

Import the helper functions and use them to calculate dimensions as percentages of the screen or window size.

import { wh, ww, sh, sw } from 'react-native-dimensions-helper';

const styles = {
  width: ww(50), // 50% of window width
  height: wh(20), // 20% of window height
  screenWidth: sw(100), // 100% of screen width
  screenHeight: sh(50), // 50% of screen height
};

console.log(styles);
// Output: { width: 200, height: 160, screenWidth: 400, screenHeight: 300 }

API Reference

| Parameter | Type | Description | | :--------- | :------- | :--------------------- | | ww(value)| number | Required. 0.1-500 | | wh(value)| number | Required. 0.1-500 | | sw(value)| number | Required. 0.1-500 | | sh(value)| number | Required. 0.1-500 |

Features

  • Responsive Design Made Easy

  • Use percentages instead of hard-coded values for widths, heights, margins, and paddings.

  • Perfect for creating adaptive layouts that work seamlessly across devices.

  • Automatic Orientation Handling, the library listens for orientation changes and updates dimensions dynamically, ensuring

  • your app looks great in both portrait and landscape modes.

  • Results are cached to avoid redundant calculations, reducing the risk of performance bottlenecks during re-renders.

  • Error Prevention

  • Input validation ensures that percentages are always within the valid range (0.1% to 500%), preventing unexpected behavior.

  • TypeScript Ready

  • Fully typed for TypeScript projects, providing autocompletion and type safety.

Contributing

We welcome contributions! If you find a bug or want to suggest an improvement, feel free to open an issue or submit a pull request.

License

MIT