Gathering detailed insights and metrics for @smui/icon-button
Gathering detailed insights and metrics for @smui/icon-button
Gathering detailed insights and metrics for @smui/icon-button
Gathering detailed insights and metrics for @smui/icon-button
npm install @smui/icon-button
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
3,327 Stars
1,385 Commits
285 Forks
32 Watching
15 Branches
49 Contributors
Updated on 28 Nov 2024
Svelte (79.95%)
TypeScript (9.65%)
SCSS (9.23%)
JavaScript (0.77%)
HTML (0.37%)
Shell (0.03%)
Cumulative downloads
Total Downloads
Last day
-0.9%
1,574
Compared to previous day
Last week
6.8%
8,723
Compared to previous week
Last month
5.2%
36,521
Compared to previous month
Last year
10.3%
466,514
Compared to previous year
5
A library of Svelte Material UI components, based on Material Design Components - Web.
Here are some unique features that help SMUI stand out:
use={[Action1, [Action2, action2Props], Action3]}
.input$maxlength="15"
.To get started, check out the installation docs or the SvelteKit docs.
If you need help installing or using SMUI, join the Discord server.
SMUI v8 requires Svelte 5. This is the documentation for v8, which is still in development (and is currently in a prerelease state).
If you are using Svelte 4, you can use SMUI v7, which is the current stable version. Check out the v7 branch for the current docs.
Upgrading from an old version? Be sure to read the migration doc.
Upgrading from v7? You need Svelte 5. Event listeners no longer to use the CustomEvent type. Check out the upgrade instructions.
Upgrading from v6? You need Svelte 4. No more elemental components; you can now use the "tag" prop to change the element. No more "ComponentDev" types; components can now be used as their type. Check out the upgrade instructions.
Upgrading from v5? If you're still using the advanced styling method, it's really time to switch to the easy styling method. '/styled' endpoints are no longer provided. Check out the upgrade instructions.
Upgrading from v4? SMUI v5 requires the TypeScript preprocessor. SMUI v6 does not though, so if you upgrade straight to v6, don't worry. Check out the upgrade instructions.
Upgrading from v3? SMUI's styling method has been simplified. Check out the upgrade instructions.
Upgrading from v2? There are lots of changes listed in the upgrade instructions.
You can find older versions of the docs on their respective branch:
You can include icons in a number of ways, but the easiest is the Material Icon Font. This will give you the standard set of Material Icons, available with the CSS class "material-icons".
1<link 2 href="https://fonts.googleapis.com/icon?family=Material+Icons" 3 rel="stylesheet" 4/>
However, there are two downsides. First is that all icons are downloaded, no matter which ones you use, so the size over the wire will almost certainly be more than necessary. Second is that it only includes the Material Icons from Google.
Another option is the Material Design Icons library. See the "Using SVGs" demo on the Icon Button demo page for instructions to use icons from the @mdi/js
package (or any other SVG icons).
You can even use them in data URLs. To get a data URL for the icon:
</>
).data:image/svg+xml;base64,encodedcontent
, replacing "encodedcontent" with the Base64 results.background-image: url();
).Click a component/package below to go to the documentation. (Note that this documentation is a work in progress. The demo code should be your main source of truth for how something works.)
† This is Sass based, and therefore doesn't require Svelte components. I've included a demo showing how you can use it.
‡ This is not an MDC-Web component (upstream library). It is an addition that SMUI provides.
Svelte 5 Runes mode is being migrated to slowly. This is the todo list of components as they are migrated.
Note to Devs: update indexOf()
on any $state
array to findIndex()
.
Note to Devs: remove x = x;
statements after push()
and the like. They aren't needed anymore with Svelte 5's new $state rune.
Copyright 2019-2024 Hunter Perrin
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
license file detected
Details
Reason
1 existing vulnerabilities detected
Details
Reason
9 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 8
Reason
Found 0/30 approved changesets -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
no SAST tool detected
Details
Reason
security policy file not detected
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
project is not fuzzed
Details
Score
Last Scanned on 2024-11-18
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More