Gathering detailed insights and metrics for soda-material
Gathering detailed insights and metrics for soda-material
Gathering detailed insights and metrics for soda-material
Gathering detailed insights and metrics for soda-material
npm install soda-material
Typescript
Module System
Node Version
NPM Version
69.3
Supply Chain
94.2
Quality
80.9
Maintenance
100
Vulnerability
99.6
License
TypeScript (74.96%)
SCSS (24.64%)
JavaScript (0.31%)
HTML (0.08%)
Total Downloads
11,279
Last Day
14
Last Week
77
Last Month
498
Last Year
7,911
MIT License
8 Stars
172 Commits
1 Watchers
1 Branches
1 Contributors
Updated on Mar 26, 2025
Minified
Minified + Gzipped
Latest Version
0.0.35
Package Id
soda-material@0.0.35
Unpacked Size
4.70 MB
Size
1.25 MB
File Count
411
NPM Version
10.9.2
Node Version
22.14.0
Published on
Mar 22, 2025
Cumulative downloads
Total Downloads
Last Day
250%
14
Compared to previous day
Last Week
-22.2%
77
Compared to previous week
Last Month
-87.9%
498
Compared to previous month
Last Year
134.9%
7,911
Compared to previous year
36
A React (>=18) component library that follows Material Design 3 (a.k.a. Material You).
Features:
[!WARNING]
Work in progress, API is unstable and can change at any time.
For production, you may want to use the official material web component library or the MDUI library.
This is an experimental project with the best browser support for:
Chrome >= 105, Safari >= 15.4, Firefox >= 121
The recommended browser is Chrome >= 119
1npm install soda-material
1import React from 'react' 2import ReactDOM from 'react-dom/client' 3import 'soda-material/dist/style.css' // Note that you MUST import the style 4import { Button } from 'soda-material' 5 6ReactDOM.createRoot(document.getElementById('root')!).render( 7 <React.StrictMode> 8 <Button variant="outlined">Button</Button> 9 </React.StrictMode>, 10)
If bundle size is your concern, it's also possible to import only specific components.
1import 'soda-material/dist/style.css' // You still need to import the style somewhere 2import { Button } from 'soda-material/dist/components/button' 3import { Select } from 'soda-material/dist/composition/Select' 4 5export default function App() { 6 return ( 7 <> 8 <Button variant="text">Button</Button> 9 <Select options={['one', 'two', 'three']}></Select> 10 </> 11 ) 12}
Next.js is also supported out of the box.
[!TIP]
This library is designed to maintain a small footprint, making it easy to integrate with other libraries in the ecosystem. For instance, it pairs well with Tailwind CSS, though it does not depend on it.
See: https://soda.js.org
[!IMPORTANT]
Only components defined in the Material Design Docs will be included in thesrc/components
directory. These components do NOT include heavy logic.
Other necessary components or helpers can be found in thesrc/composition
directory.
[!NOTE]
Most components insrc/components
forward theref
attribute for library interactivity.
If present, it will be the root DOM node of the entire component.
If not, it will be documented and will be checked if you use TypeScript.
More ARIA support
More customizable CSS variables
1npm install 2npm run storybook
Naming convention:
.tsx
file with a capitalized beginning is a React component (exports the same
name, no default export).scss
file will use hyphen to separate component names in the file nameNo vulnerabilities found.
No security vulnerabilities found.