TypeScript icon, indicating that this package has built-in type declarations

0.19.3 • Public • Published

<mwc-fab> Published on npm

IMPORTANT: The Material Web Components are a work in progress and subject to major changes until 1.0 release.

A floating action button (FAB) represents the primary action of a screen.

Material Design Guidelines: Floating Action Button



npm install @dev.mohe/mwc-fab

NOTE: The Material Web Components are distributed as ES2017 JavaScript Modules, and use the Custom Elements API. They are compatible with all modern browsers including Chrome, Firefox, Safari, Edge, and IE11, but an additional tooling step is required to resolve bare module specifiers, as well as transpilation and polyfills for IE11. See here for detailed instructions.

Example usage


<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons&display=block">

<mwc-fab icon="edit"></mwc-fab>

<script type="module">
  import '@dev.mohe/mwc-fab';
  const fab = document.querySelector('mwc-fab');
  fab.addEventListener('click', () => {

Standard - slotted

<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons&display=block">

<mwc-fab label="edit">
  <mwc-icon slot="icon">edit</mwc-icon>

<script type="module">
  import '@dev.mohe/mwc-fab';
  import '@dev.mohe/mwc-icon';

Note: label should still be set for button accessibility purposes.


<mwc-fab mini icon="add"></mwc-fab>


<mwc-fab extended icon="shopping_cart" label="Add to cart"></mwc-fab>

Customize colors

mwc-fab {
  --mdc-theme-secondary: white;
  --mdc-theme-on-secondary: black;



Name Description
icon An icon to be slotted into the fab. Note: the label property should still be set for button accessibility.


Name Type Description
icon string The icon to display.
label string The label to display when using the extended layout, and the aria-label attribute in all layouts.
mini boolean Modifies the FAB to be a smaller size, for use on smaller screens. Defaults to false.
reducedTouchTarget boolean Sets the minimum touch target of the default-sized mini fab to recommended 48x48px.
extended boolean Enable the extended layout which includes a text label. Defaults to false.
showIconAtEnd boolean When in the extended layout, position the icon after the label, instead of before. Defaults to false.





CSS Custom Properties

Name Default Description
--mdc-fab-box-shadow mdc elevation 6, 8, 12 Sets the box shadow of the fab. Elevation 6 when idle, 8 when focused or hovered, and 12 when active.

Elevation values

Elevation Level CSS Value
6 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)
8 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)
12 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12)

Global Custom Properties

This component exposes the following global theming custom properties.

Name Description
--mdc-icon-font Font to use for the icon.
--mdc-theme-secondary Background color of the FAB.
--mdc-theme-on-secondary Foreground color of the label and icon.

Additional references

Package Sidebar


npm i @dev.mohe/mwc-fab

Weekly Downloads






Unpacked Size

69.3 kB

Total Files


Last publish


  • dev.mohe