Socket
Socket
Sign inDemoInstall

af-react-grid

Package Overview
Dependencies
92
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

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)


Version published
Maintainers
1
Created

Readme

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

Last updated on 30 Jul 2019

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc