Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
reflexbox-tweaked
Advanced tools
Responsive React flexbox grid system higher order component
npm install reflexbox
// Higher order component example
import React from 'react'
import { withReflex } from 'reflexbox'
const Button = (props) => {
return <button {...props} />
}
export default withReflex()(Button)
const App = () => {
return (
<div>
<Button
flex
p={2}
col={12}
align='center'
justify='space-between'>
<span>Flex</span>
<span>Button</span>
</Button>
</div>
)
}
Usage with the Flex and Box components:
// Basic component example
import React from 'react'
import { Flex, Box } from 'reflexbox'
class Component extends React.Component {
render() {
return (
<Flex p={2} align='center'>
<Box px={2}>Box A</Box>
<Box px={2} flexAuto>Box B</Box>
</Flex>
)
}
}
Reflexbox is composed of a higher order component and three React components.
Higher order component that accepts several layout style helper props that can handle virtually any layout composition.
col
(number 0–12) Sets width based on a 12 column grid.sm
(number 0-12) Sets width from the sm
breakpoint and up.md
(number 0-12) Sets width from the md
breakpoint and up.lg
(number 0-12) Sets width from the lg
breakpoint and up.align
(string) Sets align-items
justify
(string) Sets justify-content
wrap
(boolean) Sets flex-wrap: wrap
flexColumn
(boolean) Sets flex-direction: column
flexAuto
(boolean) Sets flex: 1 1 auto
flex
(boolean) Sets display: flex
order
(boolean) Sets order
Components wrapped with the withReflex higher order component accept several layout props from the Robox higher order component, including the following:
gutter
(number) Sets negative left and right margin to compensate for child element padding.m
(number) Sets margin based on a scale from 0–6.mx
(number) Sets x-axis margin based on a scale from 0–6.my
(number) Sets y-axis margin based on a scale from 0–6.mt
(number) Sets margin-top based on a scale from 0–6.mb
(number) Sets margin-bottom based on a scale from 0–6.ml
(number) Sets margin-left based on a scale from 0–6.mr
(number) Sets margin-right based on a scale from 0–6.p
(number) Sets padding based on a scale from 0–6.px
(number) Sets x-axis padding based on a scale from 0–6.py
(number) Sets y-axis padding based on a scale from 0–6.pt
(number) Sets padding-top based on a scale from 0–6.pb
(number) Sets padding-bottom based on a scale from 0–6.pl
(number) Sets padding-left based on a scale from 0–6.pr
(number) Sets padding-right based on a scale from 0–6.The Flex and Box components are created with the withReflex component and use the same set of props.
They are intended to help with the readability of code and
to provide some backwards compatiblity with previous versions
of Reflexbox.
The only difference between the two is that the Flex component has flex
prop set to true to set display: flex
.
The Grid component is also based on the withReflex component, but sets display inline-block for use as a more widely supported page layout component. It also includes an align
prop to set vertical alignment.
<div>
<Grid col={6} px={2}>
Left column
</Grid>
<Grid col={6} px={2}>
Right column
</Grid>
</div>
By default, Reflexbox listens to window.matchMedia
for the configured breakpoints.
To disable this, pass an options object to the withReflex
higher-order component.
const Box = withReflex({
listen: false
})(MyComponent)
Values for the breakpoints can be configured with React Context.
To configure reflexbox, add childContextTypes
and getChildContext
to a container component.
import PropTypes from 'prop-types'
import React from 'react'
class App extends React.Component {
static childContextTypes = {
reflexbox: PropTypes.object
}
getChildContext () {
return {
reflexbox: {
breakpoints: {
sm: '(min-width: 30em)',
md: '(min-width: 48em)',
lg: '(min-width: 60em)'
}
}
}
}
render () {
return (
<Flex gutter={2}>
<Box sm={6} md={3}>Box</Box>
<Box sm={6} md={3}>Box</Box>
<Box sm={6} md={3}>Box</Box>
<Box sm={6} md={3}>Box</Box>
</Flex>
)
}
}
To show an 8 ⨉ 8px background grid for layout debugging, add the following to the context object:
getChildContext () {
return {
reflexbox: {
debug: true
}
}
}
FAQs
React flexbox layout and grid system
The npm package reflexbox-tweaked receives a total of 4 weekly downloads. As such, reflexbox-tweaked popularity was classified as not popular.
We found that reflexbox-tweaked demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.