Button

Buttons are basic interface elements that initialize an action or function when the user interacts with them. The appearance of the button should suggest the user takes an action that leads to different scenarios. These elements that reinforce to the user the necessity to interact are called CTA (Call to Action) components, which basically are designed to capture user attention and improve the user experience within the application.

Specifications

Button design specifications
Button design specifications

States and semantics

The states are the different behaviors of the button component based on the interaction of the user. For the desktop version, we contemplate five different states by which can pass.

States: enabled, hover, focus, active and disabled.

Semantics: default, error, warning, success and info.

Button states and semantics
Button states and semantics

Anatomy

Button anatomy
  1. 1.
    Container
  2. 2.
    Icon
  3. 3.
    Label

Design tokens

General

Color

Component tokenElementCore tokenValue
focusBorderColorContainer border:focuscolor-blue-500#33aaff

Spacing

Component tokenElementCore tokenValue
paddingSmallTopContainer (small height)spacing-00rem / 0px
paddingSmallLeftContainer (small height)spacing-080.5rem / 8px
paddingSmallBottomContainer (small height)spacing-00rem / 0px
paddingSmallRightContainer (small height)spacing-080.5rem / 8px
paddingSmallOnlyIconTopContainer (small height)spacing-00rem / 0px
paddingSmallOnlyIconLeftContainer (small height)spacing-040.25rem / 4px
paddingSmallOnlyIconBottomContainer (small height)spacing-00rem / 0px
paddingSmallOnlyIconRightContainer (small height)spacing-040.25rem / 4px
paddingMediumTopContainer (medium height)spacing-00rem / 0px
paddingMediumLeftContainer (medium height)spacing-080.5rem / 8px
paddingMediumBottomContainer (medium height)spacing-00rem / 0px
paddingMediumRightContainer (medium height)spacing-080.5rem / 8px
paddingMediumOnlyIconTopContainer (medium height)spacing-00rem / 0px
paddingMediumOnlyIconLeftContainer (medium height)spacing-080.5rem / 8px
paddingMediumOnlyIconBottomContainer (medium height)spacing-00rem / 0px
paddingMediumOnlyIconRightContainer (medium height)spacing-080.5rem / 8px
paddingLargeTopContainer (large height)spacing-00rem / 0px
paddingLargeLeftContainer (large height)spacing-161rem / 16px
paddingLargeBottomContainer (large height)spacing-00rem / 0px
paddingLargeRightContainer (large height)spacing-161rem / 16px
paddingLargeOnlyIconTopContainer (large height)spacing-00rem / 0px
paddingLargeOnlyIconLeftContainer (large height)spacing-080.5rem / 8px
paddingLargeOnlyIconBottomContainer (large height)spacing-00rem / 0px
paddingLargeOnlyIconRightContainer (large height)spacing-080.5rem / 8px

Width

The component width can adopt the following values:

WidthValue
small60px
medium240px
large480px
fillParent-
fitContent-

The component height is fixed:

HeightValue
min-height40px

Margin

MarginValue
xxsmall6px
xsmall16px
small24px
medium36px
large48px
xlarge64px
xxlarge100px

These values can be applied independently to each side of the component: top, bottom, left,right.

Typography

Component tokenPropertyCore tokenValue
labelFontLineHeightline-heightfont-leading-normal1.5em
labelLetterSpacingletter-spacingfont-spacing-wide-010.025em

Primary

Color

Component tokenElementCore tokenValue
primaryDefaultBackgroundColorButton container (default)color-purple-700#5f249f
primaryErrorBackgroundColorButton container (error)color-red-700#d0011b
primaryWarningBackgroundColorButton container (warning)color-orange-700#c26c0a
primarySuccessBackgroundColorButton container (success)color-green-700#24a148
primaryInfoBackgroundColorButton container (info)color-blue-700#0086e6
primaryDefaultFontColorLabel (default)color-white#ffffff
primaryErrorFontColorLabel (error)color-white#ffffff
primaryWarningFontColorLabel (warning)color-white#ffffff
primarySuccessFontColorLabel (success)color-white#ffffff
primaryInfoFontColorLabel (info)color-white#ffffff
primaryHoverDefaultBackgroundColorContainer fill:hover (default)color-purple-800#4b1c7d
primaryHoverErrorBackgroundColorContainer fill:hover (error)color-red-800#980115
primaryHoverWarningBackgroundColorContainer fill:hover (warning)color-orange-800#915108
primaryHoverSuccessBackgroundColorContainer fill:hover (success)color-green-800#1c7d38
primaryHoverInfoBackgroundColorContainer fill:hover (info)color-blue-800#0067b3
primaryActiveDefaultBackgroundColorContainer fill:active (default)color-purple-900#321353
primaryActiveErrorBackgroundColorContainer fill:active (error)color-red-900#65010e
primaryActiveWarningBackgroundColorContainer fill:active (warning)color-orange-900#613605
primaryActiveSuccessBackgroundColorContainer fill:active (success)color-green-900#135325
primaryActiveInfoBackgroundColorContainer fill:active (info)color-blue-900#003c66
primaryDisabledDefaultBackgroundColorContainer fill:disabled (default)color-purple-100#f2eafa
primaryDisabledErrorBackgroundColorContainer fill:disabled (error)color-red-100#ffe6e9
primaryDisabledWarningBackgroundColorContainer fill:disabled (warning)color-orange-100#fef3e7
primaryDisabledSuccessBackgroundColorContainer fill:disabled (success)color-green-100#eafaef
primaryDisabledInfoBackgroundColorContainer fill:disabled (info)color-blue-100#e6f4ff
primaryDisabledDefaultFontColorLabel:disabled (default)color-purple-300#cbacec
primaryDisabledErrorFontColorLabel:disabled (error)color-red-300#fe9aa7
primaryDisabledWarningFontColorLabel:disabled (warning)color-orange-300#facf9e
primaryDisabledSuccessFontColorLabel:disabled (success)color-green-300#acecbe
primaryDisabledInfoFontColorLabel:disabled (info)color-blue-300#99d5ff

Border

Component tokenElementCore tokenValue
primaryBorderThicknessContainerborder-width-00rem / 0px
primaryBorderStyleContainerborder-style-nonenone
primaryBorderRadiusContainerborder-radius-medium0.25rem / 4px

Typography

Component tokenElementCore tokenValue
primaryFontFamilyLabelfont-family-sans'Open Sans', sans-serif
primarySmallFontSizeLabel (small height)font-scale-020.875 rem / 14px
primaryMediumFontSizeLabel (medium height)font-scale-020.875 rem / 14px
primaryLargeFontSizeLabel (large height)font-scale-031 rem / 16px
primaryFontWeightLabelfont-semibold600

Secondary

Color

Component tokenElementCore tokenValue
secondaryDefaultBackgroundColorContainer fill (default)color-transparenttransparent
secondaryErrorBackgroundColorContainer fill (error)color-transparenttransparent
secondaryWarningBackgroundColorContainer fill (warning)color-transparenttransparent
secondarySuccessBackgroundColorContainer fill (success)color-transparenttransparent
secondaryInfoBackgroundColorContainer fill (info)color-transparenttransparent
secondaryDefaultFontColorLabel (default)color-purple-700#5f249f
secondaryErrorFontColorLabel (error)color-red-700#d0011b
secondaryWarningFontColorLabel (warning)color-orange-700#c26c0a
secondarySuccessFontColorLabel (success)color-green-700#24a148
secondaryInfoFontColorLabel (info)color-blue-700#0086e6
secondaryDefaultBorderColorContainer border (default)color-purple-700#5f249f
secondaryErrorBorderColorContainer border (error)color-red-700#d0011b
secondaryWarningBorderColorContainer border (warning)color-orange-700#c26c0a
secondarySuccessBorderColorContainer border (success)color-green-700#24a148
secondaryInfoBorderColorContainer border (info)color-blue-700#0086e6
secondaryHoverDefaultBackgroundColorContainer fill:hover (default)color-purple-700#5f249f
secondaryHoverErrorBackgroundColorContainer fill:hover (error)color-red-700#d0011b
secondaryHoverWarningBackgroundColorContainer fill:hover (warning)color-orange-700#c26c0a
secondaryHoverSuccessBackgroundColorContainer fill:hover (success)color-green-700#24a148
secondaryHoverInfoBackgroundColorContainer fill:hover (info)color-blue-700#0086e6
secondaryHoverDefaultFontColorLabel:hover (default)color-white#ffffff
secondaryHoverErrorFontColorLabel:hover (error)color-white#ffffff
secondaryHoverWarningFontColorLabel:hover (warning)color-white#ffffff
secondaryHoverSuccessFontColorLabel:hover (success)color-white#ffffff
secondaryHoverInfoFontColorLabel:hover (info)color-white#ffffff
secondaryActiveDefaultBackgroundColorContainer fill:active (default)color-purple-800#4b1c7d
secondaryActiveErrorBackgroundColorContainer fill:active (error)color-red-800#980115
secondaryActiveWarningBackgroundColorContainer fill:active (warning)color-orange-800#915108
secondaryActiveSuccessBackgroundColorContainer fill:active (success)color-green-800#1c7d38
secondaryActiveInfoBackgroundColorContainer fill:active (info)color-blue-800#0067b3
secondaryDisabledDefaultBackgroundColorContainer fill:disabled (default)color-transparenttransparent
secondaryDisabledErrorBackgroundColorContainer fill:disabled (error)color-transparenttransparent
secondaryDisabledWarningBackgroundColorContainer fill:disabled (warning)color-transparenttransparent
secondaryDisabledSuccessBackgroundColorContainer fill:disabled (success)color-transparenttransparent
secondaryDisabledInfoBackgroundColorContainer fill:disabled (info)color-transparenttransparent
secondaryDisabledDefaultFontColorLabel:disabled (default)color-purple-300#cbacec
secondaryDisabledErrorFontColorLabel:disabled (error)color-red-300#fe9aa7
secondaryDisabledWarningFontColorLabel:disabled (warning)color-orange-300#facf9e
secondaryDisabledSuccessFontColorLabel:disabled (success)color-green-300#acecbe
secondaryDisabledInfoFontColorLabel:disabled (info)color-blue-300#99d5ff
secondaryDisabledDefaultBorderColorContainer border:disabled (default)color-purple-300#cbacec
secondaryDisabledErrorBorderColorContainer border:disabled (error)color-red-300#fe9aa7
secondaryDisabledWarningBorderColorContainer border:disabled (warning)color-orange-300#facf9e
secondaryDisabledSuccessBorderColorContainer border:disabled (success)color-green-300#acecbe
secondaryDisabledInfoBorderColorContainer border:disabled (info)color-blue-300#99d5ff

Border

Component tokenElementCore tokenValue
secondaryBorderThicknessContainerborder-width-1 1px
secondaryBorderStyleContainerborder-style-solidsolid
secondaryBorderRadiusContainerborder-radius-medium0.25rem / 4px

Typography

Component tokenElementCore tokenValue
secondaryFontFamilyLabelfont-family-sans'Open Sans', sans-serif
secondarySmallFontSizeLabel (small height)font-scale-020.875rem / 14px
secondaryMediumFontSizeLabel (small height)font-scale-020.875rem / 14px
secondaryLargeFontSizeLabelfont-scale-031rem / 16px
secondaryFontWeightLabelfont-semibold600

Tertiary

Color

Component tokenElementCore tokenValue
tertiaryDefaultBackgroundColorContainer fill (default)color-transparenttransparent
tertiaryErrorBackgroundColorContainer fill (error)color-transparenttransparent
tertiaryWarningBackgroundColorContainer fill (warning)color-transparenttransparent
tertiarySuccessBackgroundColorContainer fill (success)color-transparenttransparent
tertiaryInfoBackgroundColorContainer fill (info)color-transparenttransparent
tertiaryDefaultFontColorLabel (default)color-purple-700#5f249f
tertiaryErrorFontColorLabel (error)color-red-700#d0011b
tertiaryWarningFontColorLabel (warning)color-orange-700#c26c0a
tertiarySuccessFontColorLabel (success)color-green-700#24a148
tertiaryInfoFontColorLabel (info)color-blue-700#0086e6
tertiaryHoverDefaultBackgroundColorContainer fill:hover (default)color-purple-100#f2eafa
tertiaryHoverErrorBackgroundColorContainer fill:hover (error)color-red-100#ffe6e9
tertiaryHoverWarningBackgroundColorContainer fill:hover (warning)color-orange-100#fef3e7
tertiaryHoverSuccessBackgroundColorContainer fill:hover (Success)color-green-100#eafaef
tertiaryHoverInfoBackgroundColorContainer fill:hover (info)color-blue-100#e6f4ff
tertiaryActiveDefaultBackgroundColorContainer fill:active (default)color-purple-200#e5d5f6
tertiaryActiveErrorBackgroundColorContainer fill:active (error)color-red-200#ffccd3
tertiaryActiveWarningBackgroundColorContainer fill:active (warning)color-orange-200#fce7cf
tertiaryActiveSuccessBackgroundColorContainer fill:active (success)color-green-200#d5f6df
tertiaryActiveInfoBackgroundColorContainer fill:active (info)color-blue-200#cceaff
tertiaryDisabledDefaultBackgroundColorContainer fill:disabled (default)color-transparenttransparent
tertiaryDisabledErrorBackgroundColorContainer fill:disabled (error)color-transparenttransparent
tertiaryDisabledWarningBackgroundColorContainer fill:disabled (warning)color-transparenttransparent
tertiaryDisabledSuccessBackgroundColorContainer fill:disabled (success)color-transparenttransparent
tertiaryDisabledInfoBackgroundColorContainer fill:disabled (info)color-transparenttransparent
tertiaryDisabledDefaultFontColorLabel:disabled (default)color-purple-300#cbacec
tertiaryDisabledErrorFontColorLabel:disabled (error)color-red-300#fe9aa7
tertiaryDisabledWarningFontColorLabel:disabled (warning)color-orange-300#facf9e
tertiaryDisabledSuccessFontColorLabel:disabled (success)color-green-300#acecbe
tertiaryDisabledInfoFontColorLabel:disabled (info)color-blue-300#99d5ff

Border

Component tokenElementCore tokenValue
tertiaryBorderThicknessContainerborder-width-00rem / 0px
tertiaryBorderStyleContainerborder-style-nonenone
tertiaryBorderRadiusContainerborder-radius-medium0.25rem / 4px

Typography

Component tokenElementCore tokenValue
tertiaryFontFamilyLabelfont-family-sans'Open Sans', sans-serif
tertiarySmallFontSizeLabel (small height)font-scale-020.875rem / 14px
tertiaryMediumFontSizeLabel (medium height)font-scale-030.875rem / 14px
tertiaryLargeFontSizeLabel (large height)font-scale-031 rem / 16px
tertiaryFontWeightLabelfont-semibold600

Accessibility