New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-with-direction

Package Overview
Dependencies
Maintainers
4
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-with-direction

Components to provide and consume RTL or LTR direction in React

  • 1.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
426K
increased by1.71%
Maintainers
4
Weekly downloads
 
Created
Source

react-with-direction Version Badge

Build Status dependency status dev dependency status License Downloads

npm badge

Components to support both right-to-left (RTL) and left-to-right (LTR) layouts in React.

Supporting RTL or switching between different directions can be tricky. Most browsers have built-in support for displaying markup like paragraphs, lists, and tables. But what about interactive or complex custom UI components? In a right-to-left layout, a photo carousel should advance in the opposite direction, and the primary tab in a navigation control should the rightmost, for example.

This package provides components to simplify that effort.

withDirection

Use withDirection when your component needs to change based on the layout direction. withDirection is an HOC that consumes the direction from React context and passes it as a direction prop to the wrapped component. The wrapped component can then pivot its logic to accommodate each direction.

Usage example:

import withDirection, { withDirectionPropTypes, DIRECTIONS } from 'react-with-direction';

function ForwardsLabel({ direction }) {
  return (
    <div>
      Forwards
      {direction === DIRECTIONS.LTR && <img src="arrow-right.png" />}
      {direction === DIRECTIONS.RTL && <img src="arrow-left.png" />}
    </div>
  );
}
ForwardsLabel.propTypes = {
  ...withDirectionPropTypes,
};

export default withDirection(ForwardsLabel);

DirectionProvider

Use DirectionProvider at the top of your app to set the direction context, which can then be consumed by components using withDirection.

You should set the direction prop based on the language of the content being rendered; for example, DIRECTIONS.RTL (right-to-left) for Arabic or Hebrew, or DIRECTIONS.LTR (left-to-right) for English or most other languages.

DirectionProvider components can also be nested, so that the direction can be overridden for certain branches of the React tree.

DirectionProvider will render its children inside of a <div> element with a dir attribute set to match the direction prop, for example: <div dir="rtl">. This maintains consistency when being rendered in a browser.

Usage example:

import DirectionProvider, { DIRECTIONS } from 'react-with-direction/dist/DirectionProvider';
<DirectionProvider direction={DIRECTIONS.RTL}>
  <div>
    <ForwardsLabel />
  </div>
</DirectionProvider>

FAQs

Package last updated on 16 Oct 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc