Generic selectors

Exact matches only

Search in title

Search in content

Post Type Selectors

Button Icons

Button Icons are used for minor actions that can be resumed within one icon.

button-icon
  • Overview
  • Specs
  • Guidelines

Component

Button icons are used to be displayed within compact layouts, where the desired action can be resumed in one icon and unambiguously.

Button icons can be represented with the colors theme, grey and error. Alongside it can be combined with the variations primary, secondary, tertiary and text button. This component follows the same color states as the buttons.

Button icon anatomy

A: Primary variation

B: Secondary variation

C: Tertiary variation

D: Text Button variation

1: Icon

Button_Icon_EX1
Buttons icons inside action bar

Used for:

Action bar options

Used to provide quick access to frequent actions, such as print and attach;

Sorting and filtering

Enable users to sort and group by columns inside the data-grid pattern;

Messaging actions

Used to represent a send button without taking to much place;

File management

Complete the process of uploading files or media, either for accepting or canceling the media attached;

Don’t use for:

Insufficient visual cues

It’s not recommended to use button icons when the meaning of the icons is not immediately clear or intuitive;

Accessibility concerns

Do not use button icons to display primary information such as “Save”, in order to maintain the base functionality for persons using a screen reader. Consider using buttons instead;

Overreliance on icons

Avoid overreliance on button icons for critical actions, especially when users may be unfamiliar with the meaning of the icons;

Inconsistent iconography

If the iconography used in button icons is inconsistent or lacks standardization across the interface, users may struggle to interpret their meaning consistently;

Create button icon applied as primary action

Demo

Access the Figma file and inspect element using Dev Mode.

Button icon properties

Last Update

Button icons before
Button icons after
  • Updated state color variables;
  • Reduced color variables;

Related

Buttons

Buttons are used to perform an action. Their labels tell the user what will happen when they interact with them …

States

Button icon states

Primary

Enabled
.enabled {
background-color: var(--Theme-100);
color: var(--grey-1);
}
Hover
.hover {
background-color: var(--Theme-80);
color: var(--grey-1);
}
Pressed
.pressed {
background-color: var(--Theme-highlight);
color: var(--grey-1);
}
Loading
.loading {
background-color: var(--Theme-100);
color-1: var(--Theme-80);
color-2: var(--Theme-60);
}
Disabled
.disabled {
background-color: var(--Grey-4);
color: var(--grey-6);
}
Focus
.focus {
background-color: var(--Theme-80);
border-color: var(--Theme-highlight);
color: var(--grey-1);
}

Secondary

Enabled
.enabled {
background-color: var(--Theme-20);
color: var(--Theme-100);
}
Hover
.hover {
background-color: var(--Theme-40);
color: var(--Theme-highlight);
}
Pressed
.pressed {
background-color: var(--Theme-20);
border-color: var(--Theme-80);
color: var(--Theme-100);
}
Loading
.loading {
background-color: var(--Theme-20);
color-1: var(--Theme-80);
color-2: var(--Theme-60);
}
Disabled
.disabled {
background-color: var(--Grey-4);
color: var(--Grey-6);
}
Focus
.focus {
background-color: var(--Theme-20);
border-color: var(--Theme-highlight);
color: var(--Theme-100);
}

Tertiary

Enabled
.enabled {
background-color: var(--Grey-1);
border-color: var(--Grey-5);
color: var(--Theme-100);
}
Hover
.hover {
background-color: var(--Theme-10);
border-color: var(--Grey-5);
color: var(--Theme-100);
}
Pressed
.pressed {
background-color: var(--Theme-20);
border-color: var(--Grey-5);
color: var(--Theme-100);
}
Loading
.loading {
background-color: var(--Grey-1);
border-color: var(--Grey-5);
color-1: var(--Theme-80);
color-2: var(--Theme-60);
}
Disabled
.disabled {
background-color: var(--Grey-1);
border-color: var(--Grey-5);
color: var(--Grey-6);
}
Focus
.focus {
background-color: var(--Grey-1);
border-color: var(--Theme-highlight);
color: var(--Theme-100);
}

Text Button

Enabled
.enabled {
color: var(--Theme-100);
}
Hover
.hover {
background-color: var(--Theme-10);
color: var(--Theme-100);
}
Pressed
.pressed {
background-color: var(--Theme-20);
color: var(--Theme-100);
}
Loading
.loading {
color-1: var(--Theme-80);
color-2: var(--Theme-60);
}
Disabled
.disabled {
color: var(--Grey-6);
}
Focus
.focus {
border-color: var(--Theme-highlight);
color: var(--Theme-100);
}

Variations

Colors

Theme
Theme enabled variations
.primary-enabled { background-color: var(--Theme-100); color: var(--dgrey-1); }
.secondary-enabled { background-color: var(--Theme-20); color: var(--Theme-100); }
.tertiary-enabled { background-color: var(--Grey-1); border-color: var(--Grey-5); color: var(--Theme-100); }
.text_button-enabled { color: var(--Theme-100); }

Error
Error enabled variations
.primary-enabled { background-color: var(--Error-100); color: var(--grey-1); }
.secondary-enabled { background-color: var(--Error-20); color: var(--Error-100); }
.tertiary-enabled { background-color: var(--Grey-1); border-color: var(--Grey-5); color: var(--Error-100); }
.text_button-enabled { color: var(--Error-100); }

Grey
Grey enabled variations
.primary-enabled { background-color: var(--Grey-8); color: var(--grey-1); }
.secondary-enabled { background-color: var(--Grey-2); color: var(--Grey-8); }
.tertiary-enabled { background-color: var(--Grey-1); border-color: var(--Grey-5); color: var(--Grey-7); }
.text_button-enabled { color: var(--Grey-7); }

Size

Small
.small {
  padding: var(--spacing-4) var(--spacing-4);
  border-radius: var(--x-small-radius);
  icon: icon: 20px;
}
Regular
.regular {
  padding: var(--spacing-8) var(--spacing-8);
  border-radius: var(--x-small-radius);
  icon: icon: 20px;
}
Large
.large {
  padding: var(--spacing-8) var(--spacing-8);
  border-radius: var(--x-small-radius);
  icon: icon: 24px;
  }

Useful links

guidelines figma accent icon

Consult our Figma file to access our assets and inspect them in dev mode.

polygon-framework

This component is or will be provided by the Polygon framework. See its documentation to learn more.

This element is in line with the guidelines of the CDS (Cegid Design System). Find out more.

Behavior

Fixed Size

Button icons, by nature, must always have a fixed size, because the button only allows us to show one icon and this must be proportional in all scenarios. The height follows the button component so that it can be paired with action bars, for example. This component follows the same color states as the buttons.

Fixed sizes

Dos & Dont’s

Hierarchy button icons

Use different button hierarchies and in the following order: tertiary, secondary, primary;

Grey and theme combination

Combine theme colors with grey;

Secondary button icons together

Use secondary buttons of the same color together;

Different sizes

Different sizes in the same set;


Case Studies

Release v1.2

Compose Design v1.2 introduces key updates to enhance clarity, consistency, and usability across the system, ensuring a more structured and …

Driving to a new destination without GPS?

Having help systems/guides that explain the actions within the product can help demystify doubts and increase form adoption …

Datagrids Demystified: A Deep Dive into Functionalities

Explore key datagrid functionalities—filters, column grouping, and customization options—and discover how to enhance data management workflows …

Outline