Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

af-react-grid

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

af-react-grid

Resizable and customizable flexbox grid for React. [Usage example](https://nowaalex.github.io/af-react-grid/example_dist)

  • 1.1.9
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-60%
Maintainers
1
Weekly downloads
 
Created
Source

af-react-grid

Resizable and customizable flexbox grid for React. Usage example

Demo image

Code example:

/* Include these 2 css files somewhere in your index.js */
import "af-react-grid/dist/style.css";

/* If you want custom resizer style - do not import this file */
import "af-react-grid/dist/resizer.style.css";

import { Container, Resizer } from "af-react-grid";

<Containter localStorageKey="someGridName" type="row">
    <div>Child 1</div>
    <Resizer />
    <div>Child 2</div>
    <Resizer>
    <Containter type="row">
        <div>Subchild 1</div>
        <Resizer />
        <div>Subchild 2</div>
    </Container>
</Container>

Container props

type: ?( "row" | "col" ) = "row",

className: ?string,

style: ?object,

children: ?node,

/* Next 2 props are passed down as default props to Resizer and Container children*/

resizerChildren: ?node,

resizerClassName: ?string = "react-rsz-grid-default-resizer",

localStorageKey: ?string

Resizer props

className: ?string,

style: ?object,

children: ?node

disabled: ?bool

Features

  • Very small, exported as es modules (own code 3.5kb + react + react-dom + react-draggable + classNames)
  • Resizers are also given data-resizer-index and data-resizer-type, so their styling could be customized easily;
  • resizerChildren and resizerClassName props are passed deep to all nested Containers, so you want to declare these props only on root Container. Of course they may be overriden anywhere;
  • maxHeight, minHeight, maxWidth, minWidth are considered even if not declared inline, because their values are taken from getComputedStyle before drag starts;
  • Want to have a super-highly customized Resizer? resizerChildren prop allows you to render custom child elements, which could be easily styled;
  • localStorageKey prop is passed down to children with child index added, like someGridName_0_2, until overriden;
  • If a child has key prop, it's dimensions are saved by key, otherwise by it's index, so be careful to use unique keys;

Tooltips

  • If tou want overflow: auto on containers, you must either set it globally( add overflow rule to default container class ), or individually;
  • React.Fragment children are not yet supported;
  • Resizer, which is first or last child, does nothing( see example );
  • Feel free to customize Resizer styling by providing your own css( use dist/resizer.style.css as an example )

TODO

  • Support React.Fragment children.
  • Add types
  • findDomNode refuse ( maybe? )

Keywords

FAQs

Package last updated on 23 Jul 2019

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