Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
react-flexr
Advanced tools
React Flexbox grid made simple. Based on the "Solved-by-flexbox"-grid
Base example.
import React from 'react';
import { Grid, Cell } from 'react-flexr';
class Example extends React.component {
render() {
return (
<Grid>
<Cell>1/3<Cell>
<Cell>1/3<Cell>
<Cell>1/3<Cell>
</Grid>
);
}
}
Cell sizes can be controlled with fractions.
import React from 'react';
import { Grid, Cell } from 'react-flexr';
class Example extends React.component {
render() {
return (
<Grid>
<Cell size='6/12'>
Fills Half
<Cell>
<Cell>
Fills Rest.. (Yay for Flexbox)
</Cell>
<Cell size='3/12'>
Fills a quarter
<Cell>
<Cell palm='3/12' lap='1/2'>
Fills on mobile, half on lap and dynamic size everywhere else.
<Cell>
<Cell palm='hidden' size='1/2'>
Hidden on palm, half width otherwise
<Cell>
</Grid>
);
}
}
<Grid
align={ string } // Vertical Align Sub Cells: top, center, bottom
hAlign={ string } // Horizontal Align Sub Cells: left, center, right
gutter={ string } // Override default gutter: '1em', '5%', '10px', etc.
flexCells={ bool } // All sub cells will be full height
/>
<Cell
align={ string } // Vertical Align This Cell: top, center, bottom
gutter={ string } // Override default gutter: '1em', '5%', '10px', etc.
flex={ bool } // Like flexCells above, but for a single cell.
size={ string } // Takes a fraction. e.g. 1/6
palm={ string } // Like size, but only applies for palm devices.*
lap={ string } // Like size, but only applies for lap devices.*
portable={ string } // Like size, but only applies for ( palm + lap )
devices.*
desk={ string } // Like size, but only applies for desk devices.*
/>
* Ergonomic breakpoints accepts 'hidden' as well. This will prevent the component from being rendered in that state.
See the example folder for more examples.
The responsive props are based on ergonomics.
I've used these breakpoints in a variety of apps and grids with success. So far the following breakpoints have beeen implemented:
See breakpoints file for sizes.
It's posible to render the grid in a specific size context. This is usefull for serverside rendering where you want to prerender the app for a mobile/tablet user.
Wrap your app and set a context;
class Wrapper extends React.Component {
static childContextTypes = {
width: React.PropTypes.number
}
getChildContext() {
return {
width: this.props.size
};
}
render() {
return <App />
}
}
React.renderToString( <Wrapper size={ 320 } />);
This should render all your Cells in a palm state.
Note that this is only enabled in non DOM execution environments. So it's only usefull on the server.
This is still very experimental. If you decide to run this in production. Use it in combination with react-style-webpack-plugin to extract the css.
FAQs
React flexbox grid made simple.
The npm package react-flexr receives a total of 304 weekly downloads. As such, react-flexr popularity was classified as not popular.
We found that react-flexr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.