Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@material/button
Advanced tools
Buttons allow users to take actions, and make choices, with a single tap.
npm install @material/button
<button class="mdc-button">
Button
</button>
NOTE: Examples here use the generic
<button>
, but users can also apply themdc-button
class to<a>
elements.
@import "@material/button/mdc-button";
The button will work without JavaScript, but you can enhance it to have a ripple effect by instantiating MDCRipple
on the root element. See MDC Ripple for details.
import {MDCRipple} from '@material/ripple';
const buttonRipple = new MDCRipple(document.querySelector('.mdc-button'));
See Importing the JS component for more information on how to import JavaScript.
To style a contained button, add the mdc-button--raised
class to the <button>
element for a contained button with elevation, or the mdc-button--unelevated
class for a contained button flush with the surface.
To style an outlined button, add the class mdc-button--outlined
to the <button>
element.
To add an icon, add an element with the mdc-button__icon
class inside the button element and set the attribute aria-hidden="true"
. The icon is set to 18px to meet legibility requirements.
We recommend you use Material Icons from Google Fonts:
<button class="mdc-button">
<i class="material-icons mdc-button__icon" aria-hidden="true">favorite</i>
Button
</button>
It's also possible to use an SVG icon:
<button class="mdc-button">
<svg class="mdc-button__icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="...">
...
</svg>
Button
</button>
To disable a button, add the disabled
attribute directly to the <button>
, or set the disabled
attribute on the <fieldset>
containing the button.
Disabled buttons cannot be interacted with and have no visual interaction effect.
<button class="mdc-button" disabled>
Button
</button>
CSS Class | Description |
---|---|
mdc-button | Mandatory. Defaults to a text button that is flush with the surface. |
mdc-button--raised | Optional. Styles a contained button that is elevated above the surface. |
mdc-button--unelevated | Optional. Styles a contained button that is flush with the surface. |
mdc-button--outlined | Optional. Styles an outlined button that is flush with the surface. |
mdc-button--dense | Optional. Makes the button text and container slightly smaller. |
mdc-button__icon | Optional. Indicates an icon element. |
To customize a button's color and properties, you can use the following mixins.
MDC Button uses MDC Theme's primary
color by default. Use the following mixins to customize it.
Mixin | Description |
---|---|
mdc-button-filled-accessible($container-fill-color) | Sets the container fill color for a contained (raised or unelevated) button, and updates the button's ink, icon, and ripple colors to meet accessibility standards |
These mixins will override the color of the container, ink, outline or ripple. It is up to you to ensure your button meets accessibility standards.
Mixin | Description |
---|---|
mdc-button-container-fill-color($color) | Sets the container fill color to the given color. |
mdc-button-icon-color($color) | Sets the icon color to the given color. |
mdc-button-ink-color($color) | Sets the ink color to the given color, and sets the icon color to the given color unless mdc-button-icon-color is also used. |
mdc-button-corner-radius($corner-radius) | Sets the corner radius to the given number (defaults to 2px). |
mdc-button-horizontal-padding($padding) | Sets horizontal padding to the given number. |
mdc-button-outline-color($color) | Sets the outline color to the given color. |
mdc-button-outline-width($width, $padding) | Sets the outline width to the given number (defaults to 2px) and adjusts padding accordingly. $padding is only required in cases where mdc-button-horizontal-padding is also included with a custom value. |
In browsers that fully support CSS custom properties, the above mixins will work if you pass in a MDC Theme property (e.g. primary
) as an argument. However, Edge does not fully support CSS custom properties. If you are using the mdc-button-container-fill-color
mixin, you must pass in an actual color value for support in Edge.
FAQs
The Material Components for the web button component
The npm package @material/button receives a total of 577,674 weekly downloads. As such, @material/button popularity was classified as popular.
We found that @material/button demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 15 open source maintainers 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
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.