
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
@rmwc/image-list
Advanced tools
MDC Image List provides a RTL-aware Material Design image list component, representing an evolution of the Material Design Grid List spec. An Image List consists of several items, each containing an image and optionally supporting content (i.e. a text label).
Image Lists will give you basic layout, but you will have to use inline styling or CSS to achieve things like spacing, aspect ratio, and column count. Check out the inline styles below as examples.
<ImageList>
{[
{ src: 'images/photos/3x2-1.jpg', alt: 'image of building' },
{ src: 'images/photos/2x3-1.jpg', alt: 'image of wall' },
{ src: 'images/photos/3x2-4.jpg', alt: 'image of building' },
{ src: 'images/photos/3x2-5.jpg', alt: 'image of dog' },
{ src: 'images/photos/3x2-6.jpg', alt: 'image of roses' },
{ src: 'images/photos/2x3-2.jpg', alt: 'image of landscape' },
{ src: 'images/photos/3x2-8.jpg', alt: 'image of cafe' },
{ src: 'images/photos/3x2-11.jpg', alt: 'image of city' },
{ src: 'images/photos/2x3-5.jpg', alt: 'image of swing' },
{ src: 'images/photos/3x2-13.jpg', alt: 'image of oranges' },
{ src: 'images/photos/3x2-14.jpg', alt: 'image of dog' },
{ src: 'images/photos/2x3-6.jpg', alt: 'image of road' },
{ src: 'images/photos/3x2-15.jpg', alt: 'image of bus' },
{ src: 'images/photos/3x2-16.jpg', alt: 'image of cafe' },
{ src: 'images/photos/2x3-7.jpg', alt: 'image of basketball' }
].map((img) => (
<ImageListItem
key={img.src}
style={{ margin: '2px', width: 'calc(100% / 5 - 4.2px)' }}
>
<ImageListImageAspectContainer
style={{ paddingBottom: 'calc(100% / 1.5)' }}
>
<ImageListImage src={img.src} alt={img.alt} />
</ImageListImageAspectContainer>
<ImageListSupporting>
<ImageListLabel>Text label</ImageListLabel>
</ImageListSupporting>
</ImageListItem>
))}
</ImageList>
<ImageList
masonry
withTextProtection
style={{
columnCount: 5,
columnGap: '16px',
maxWidth: '1000px'
}}
>
{[
{ src: 'images/photos/3x2-1.jpg', alt: 'image of building' },
{ src: 'images/photos/2x3-1.jpg', alt: 'image of wall' },
{ src: 'images/photos/3x2-4.jpg', alt: 'image of building' },
{ src: 'images/photos/3x2-5.jpg', alt: 'image of dog' },
{ src: 'images/photos/2x3-5.jpg', alt: 'image of swing' },
{ src: 'images/photos/3x2-6.jpg', alt: 'image of roses' },
{ src: 'images/photos/2x3-2.jpg', alt: 'image of landscape' },
{ src: 'images/photos/3x2-8.jpg', alt: 'image of cafe' },
{ src: 'images/photos/3x2-11.jpg', alt: 'image of city' },
{ src: 'images/photos/3x2-13.jpg', alt: 'image of oranges' },
{ src: 'images/photos/3x2-14.jpg', alt: 'image of dog' },
{ src: 'images/photos/2x3-6.jpg', alt: 'image of road' },
{ src: 'images/photos/3x2-15.jpg', alt: 'image of bus' },
{ src: 'images/photos/2x3-7.jpg', alt: 'image of basketball' },
{ src: 'images/photos/3x2-16.jpg', alt: 'image of cafe' }
].map((img) => (
<ImageListItem key={img.src} style={{ marginBottom: '16px' }}>
<ImageListImage src={img.src} alt={img.alt} />
<ImageListSupporting>
<ImageListLabel>Text label</ImageListLabel>
</ImageListSupporting>
</ImageListItem>
))}
</ImageList>
The root of the Image List.
| Name | Type | Description |
|---|---|---|
masonry | boolean | Indicates that this Image List should use the Masonry variant. |
withTextProtection | boolean | Indicates that supporting content should be positioned in a scrim overlaying each image (instead of positioned separately under each image). |
Indicates each item in an Image List.
Optional. Parent of each item’s image element, responsible for constraining aspect ratio. This element may be omitted entirely if images are already sized to the correct aspect ratio.
Indicates the image element in each item.
Optional. Indicates the area within each item containing the supporting text label, if the Image List contains text labels.
Optional. Indicates the text label in each item, if the Image List contains text labels.
FAQs
RMWC ImageList component
The npm package @rmwc/image-list receives a total of 488 weekly downloads. As such, @rmwc/image-list popularity was classified as not popular.
We found that @rmwc/image-list 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.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.