Back to Icon Button-guidelines

CSS ComponentThe latest version of this package is: 17.0.1, Opens in new window

An icon button is mostly used for quick actions.

This component provides .css, .styl, .less and .scss -files.

To be able to install this component, please refer to the Project Setup documentation.

$ npm i @ids-core/icon-button@17.0.1

Table of Contents

Edit this section, Opens in new window


  class="if icon-button icon [ui|product|coverage|symbol|some] [<iconName>]"
<button type="button" class="if icon-button">
  <svg class="if icon" xmlns="" viewBox="0 0 32 32">
    <g class="nc-icon-wrapper" stroke-linecap="square" stroke-linejoin="miter" stroke-width="1.5" fill="currentColor" stroke="currentColor">
      <path d="M27,10V28a3,3,0,0,1-3,3H8a3,3,0,0,1-3-3V10" fill="none" stroke="currentColor" stroke-miterlimit="10"/>
      <line x1="16" y1="15" x2="16" y2="25" fill="none" stroke="currentColor" stroke-miterlimit="10"/>
      <line x1="11" y1="15" x2="11" y2="25" fill="none" stroke="currentColor" stroke-miterlimit="10"/>
      <line x1="21" y1="15" x2="21" y2="25" fill="none" stroke="currentColor" stroke-miterlimit="10"/>
      <polyline data-cap="butt" data-color="color-2" points="11 6 11 1 21 1 21 6" fill="none" stroke-miterlimit="10" stroke-linecap="butt"/>
      <line data-color="color-2" x1="30" y1="6" x2="2" y2="6" fill="none" stroke-miterlimit="10"/>
<button class="if icon-button icon ui trashcan disabled" disabled>

NOTE! For disabled styling of icon buttons with background-image, it is up to the developer to add the required styling (with class .disabled). We cannot support 100s of disabled icon buttons from the design system directly. See the Icon component for examples on how to solve this.

<button class="if icon-button" disabled>
  <svg class="if icon" xmlns="" viewBox="0 0 32 32">
      <line x1="3" y1="31" x2="29" y2="31" fill="none" stroke="currentColor" stroke-miterlimit="10" />
      <line x1="19" y1="6" x2="24" y2="11" fill="none" stroke="currentColor" stroke-miterlimit="10" />
      <polygon points="11 24 4 26 6 19 23 2 28 7 11 24" fill="none" stroke="currentColor" stroke-miterlimit="10" />

However, if you use an *.svg instead, you will get the desired result!


<button type="button" class="if icon-button smaller icon ui cog">
<button type="button" class="if icon-button small icon ui pin">
<button type="button" class="if icon-button icon ui img">
<button type="button" class="if icon-button large icon ui like">
Edit this section, Opens in new window


All of the tokens can be used as preprocessor and CSS variables

Icon Button tokens

Name Value Is aliased in
rgb(0, 84, 240)
rgb(250, 249, 247)
rgb(0, 84, 240)
rgb(250, 249, 247)
Edit this section, Opens in new window


Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

14.24.4 (2022-06-15)

Bug Fixes

  • icon-button: let color be visible on hover (9e4fa59) , closes #619977

14.22.2 (2022-05-03)

Miscellaneous chores

  • package locks: update package locks (813eac7)
  • update deps: package locks updates (38e7a90)

14.20.1 (2022-04-19)

Miscellaneous chores

  • changelog: regenerate all files (64ab385) , closes #586342
  • changelog: regenerate all changelogs after updating changelog generation (70789c9) , closes #587270

14.18.3 (2022-04-13)

Bug Fixes

  • changelog: generate new files for root and packages (349fda4) , closes #586063 . We regenerate the files to include all relevant commits and to use conventional-commits at 100%

14.18.1 (2022-04-11)

Bug Fixes

14.18.0 (2022-04-08)


  • ๐ŸŽธ Add CSS Variabes to Icon Button (9a18237) , closes #580140

Bug Fixes

  • ๐Ÿ› Use icon sizing and fix support for sized buttons (43d663d)

Miscellaneous chores

14.9.0 (2022-03-03)

Miscellaneous chores

reinstall (d425056)

bootstrap (9a713df)

merge (2b1c5f1)

reinstall (5221600)

reinstall (147df55)

  • use correct versions (f1b5deb)

  • Add engines for all packages (e95dfff)

reinstall (afce1f2)

reinstall (67f3140)

  • Add to files (3338314)

Reinstall (a2abf51)

14.2.2 (2021-12-10)

Code Refactoring

  • ๐Ÿ’ก Change focus styles, remove whatinput (75fd31b) , closes #505205

  • rebuild and reinstall (f9fb687)

reinstall (885c74b)

  • fix changelogs manually (b1232b4)

reinstall (545a069)

reinstall (e149c2c)

13.12.3 (2021-11-09)


  • ๐Ÿงจ The scope for If Design System npm packages has now changed from @if-design-system to @ids-core. We have also renamed the repository from if-design-system to ids-core
  • ๐Ÿงจ Util is now renamed to Utils
  • ๐Ÿงจ We have now changed the navigation structure for the documentation site. Please update any saved links!
  • ๐Ÿงจ Navigation structure has now changed. Please see release notes!

Documentation Updates

  • โœ๏ธ Adjust markup example (266ba50)

  • โœ๏ธ Move position of the quick links (5cb0897)

  • โœ๏ธ Remove unneeded margins for shortcuts (36c7e8d)

  • โœ๏ธ Split CSS documentation (f734a05) , closes #467386

  • โœ๏ธ Update links and change navigation structure (0bfd27d) , closes #490579

Code Refactoring

  • ๐Ÿ’ก Categorize components (9965266) , closes #490579

  • ๐Ÿ’ก Reduce spacing tokens, use correct size tokens (97aa461)

  • ๐Ÿ’ก Rename scope and repository (3ea5423)

  • ๐Ÿ’ก Use new navigation structure for documentation (415aee5) , closes #490579

  • another change in the structure (38a0d2e)

Miscellaneous chores

  • ๐Ÿค– Prune changelogs (2c660c2)

  • ๐Ÿค– Rename util to utils (f78721f)

  • ๐Ÿค– Use correct routing for color, breakpoint, icons and typography (237027f) , closes #467386

bootstrap (6fc1ed8)

  • fix all old references to util (d57bf17)

  • prepare for merge (0184490)

reinstall (da80dba)

  • Rename scope and repo (257684e)

  • use correct version for utils (49e72d9)

13.11.0 (2021-10-19)


  • ๐ŸŽธ Input field hot reload (eac76b7)

13.7.0 (2021-09-22)

Documentation Updates

  • โœ๏ธ Update linking layout and naming (15c383b)

13.6.3 (2021-09-17)

Bug Fixes

13.6.0 (2021-09-08)

Documentation Updates

  • Use default shortcut listing for demo links (a746602)

  • ๐Ÿค– Use node v14 (4009973)

bootstrap (d23e139)

  • ๐Ÿค– Use correct order for diff (cc6a4fd)

12.14.1 (2021-08-12)

Miscellaneous chores

  • ๐Ÿค– Add ci task to package.json without tests (21222e0) , closes #457627

12.13.1 (2021-08-11)

Bug Fixes

  • ๐Ÿ› Whitelist docs dir for npm packaging (1a5cfd0) , closes #457621

12.12.1 (2021-08-10)

Bug Fixes

  • ๐Ÿ› Make sure components using fonts, have fonts bundled (d5bb642) , closes #354912

  • ๐Ÿค– Remove .gitignore, use npm package.json files instead, ignore zip files for npm pack (49f0269) , closes #412081 . This will whitelist files to be used in "npm pack"

  • ๐Ÿค– Reinstall (e660696)

  • ๐Ÿค– Update published date (61e7ccf)

12.6.0 (2021-05-27)

Bug Fixes

  • ๐Ÿ› Manually set firstPublished and lastModified (e83af7d)

  • ๐Ÿ› We don't need lastModified (e458a12)

12.0.0 (2021-05-05)


  • ๐Ÿงจ All of the mixins have now been renamed
  • ๐Ÿงจ Notification is now renamed to Alert Banner
  • ๐Ÿงจ This extracts the Hero variation with no image into a separate, design updated component named Header
  • ๐Ÿงจ Crosslinks have seized to exist. They are all extracted into separate components. This commit converts crosslink buttons into the new component Shortcuts


  • ๐ŸŽธ Add new component: Icon button (7f7ff7b) , closes #336508

  • ๐ŸŽธ Rename and extract and update hero with no image to (384eb77) , closes #336508 . Header component

Code Refactoring

  • ๐Ÿ’ก Rename and consolidate mixins (67cf470) , closes #268081

  • ๐Ÿ’ก Rename crosslink buttons to Shortcuts (c05bf9c) , closes #336508

  • ๐Ÿ’ก Rename Notification to Alert Banner (8b4e48d) , closes #336508

Miscellaneous chores

  • ๐Ÿค– Add component index preview template for icon-button (1e5e304)

  • ๐Ÿค– Make sure all components are named with capital first (08e9a26)

  • ๐Ÿค– Reinstall (2c763ea)

  • ๐Ÿค– Reinstall (69e1a5b)

  • ๐Ÿค– Update dev and demo files for icon button (8c382ac)

  • ๐Ÿค– Updating links (70f166e)

  • ๐Ÿค– Use correct classnames for icon button icons (be5f502)

rebuild (7edb430)

Edit this section, Opens in new window
Contact us, Opens in new window