Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
A simple data grid component that responsively adjusts layout based on screen widths. Uses a CSS grid layout with repeating rows. Does not fetch, sort, paginate or anything other than layout data in a grid. Those things can be built on top of Gridley if desired but are not built-in.
Most tabular grids are "responsive" by switching grid from a table to a "label: value" layout on mobile screens, or by just allowing rows to wrap when content doesn't fit.
Gridley goes far beyond those techniques. It can accommodate any number of breakpoints and change column orders, alignment, and even row spanning for each size. Cell rendering is specified globally on the grid and then multiple layout's specify how each cell is rendered. Appropriate ARIA attributes (table, rowheader, row, columnheader, cell) are applied to the elements.
Image a grid that has every row on a single line this on desktop. And on tablet, each row takes two lines, and ID appears at the end vertically centered between them. Then on mobile it uses three lines per row, the job & address switch places while spanning the entire width.
Rendering and layouts are specified in JSX without duplication. Each cell is rendered the same regardless of layout.
For an usable example of the screenshots above, try the sandbox example as well as the source in demo/demo.tsx
true
, color will be a light grey.false
1px
When used as a child of Columns it documents how data is rendered. The parent element inside header
and body
may be a Cell
, or any custom element. If a custom element is used, it will be passed a string id
prop. That id must be rendered the the DOM as data-cell-id
in order for elements to be positioned properly.
When placed inside a Layout, it documents how the column is placed in the grid. Columns will appear in the order they are placed under the Layout.
Returns the current Layout
the grid is using. For an example see the Caption component in the demo source
True if the grid is using the layout. Really just a convenience, it calls useCurrentLayout().id
internally.
There is also useGridContextState
and useGridContextDispatch
hooks but they're considered internal and may change their behavior. Please notify me if you find them useful and I can document
FAQs
Responsive Data Grids
We found that gridley 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
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.