Elevation & Depth

Spark elevation determines how elements of the UI stack on top of each other.

Our design system relies on two main things to establish the elevation hierarchy of an interface: shadows and Z-index.

An interface with overlapping elements.

An interface with overlapping elements.

Shadows

We cast drop shadows to establish a visible distinction between one elevation level vs the other.

Z-Index

Interfaces live in a sort of 3-dimensional space, so element position in the interface is determined by 3 values:

  1. The X coordinate indicates the horizontal position.
  2. The Y coordinate indicates the vertical position.
  3. A Z coordinate or Z-Index specifies the stack order of an element.

An element with a greater stack order is always in front of a component with a lower stack order.

Elevation Levels

Our Design System has 12 elevation levels, each one with a specific purpose.

As mentioned in the Z index section, each elevation level will always be shown on top of the previous one in the interface,  so, for example, level 1 will always be shown below level 2, and level 2 will always be shown below level 3.

Below you can find our levels, the box shadow styles, and Z-Index values attached to each one.

0. Page

The page is the base of our interface; any content will go on top of it. 

Z-index

CSS: --gse-semantic-elevation-0Page

Box Shadow

N/A

The page level is the base of all our interfaces.

The page level is the base of all our interfaces.


 

1. Elevated Surfaces

Our surface level is divided into 2:

  • Cards — Containers that give the impression of being on top of their parent section.
  • Sunken Surfaces — Containers that give the impression of being sunken in their parent section.
Cards give the impression the exist over the its container as oppose to Sunken Surfaces.

Cards give the impression the exist over the its container as oppose to Sunken Surfaces.

Cards

Cards can serve as entry points into deeper sections of detail or navigation, such as a group of semantically related items or details on a CX ticket.

Z-Index

CSS: parent container z-index + --gse-semantic-elevation-1Card

Box Shadow

Figma: shadow/1_card/default

CSS: --gse-semantic-shadow-1Card-default

Cards using its Shadow style and Z-Index value.

Cards using its Shadow style and Z-Index value.

Card states

Cards can be interactive, so we also provide a darker shadow style to denote hover/active states.

Z-Index

CSS: parent container z-index + --gse-semantic-elevation-1Card

Box Shadow

Figma: shadow/1_card/hover

CSS: --gse-semantic-shadow-1Card-hover

Cards can use the styles above to denote even more their hover and active states.

Cards can use the styles above to denote even more their hover and active states.

Sunken surfaces

As the name suggests, Sunken Surfaces give the 
impression of a section being sunken into its parent rather than on top.

We use them mostly for delimiting a section that can have multiple elevation elements, such as a stack of cards or buttons.

Z-Index

CSS: parent container z-index + --gse-semantic-elevation-1Card

Box Shadow

N/A

These types of surfaces don’t possess a box shadow style; we differentiate a sunken surface by using a darker background color than its parent, for example, tonal_subtle or tonal_medium.

Suken surfaces use the same Z-Index elevation as a card but, instead of a shadow, their background is a different darker tonality than their parent container.

Suken surfaces use the same Z-Index elevation as a card but, instead of a shadow, their background is a different darker tonality than their parent container.


 

2. Side Panel

Side Panels are drawers that are anchored to one side of the screen and sit on top of the page. They do not alter the page layout.

Z-Index

CSS: --gse-semantic-elevation-2SidePanel

Box Shadow

Figma: shadow/2_side_panel

CSS: --gse-semantic-shadow-2SidePanel

A Side Panel using its Shadow style and Z-Index value.

A Side Panel using its Shadow style and Z-Index value.


 

3. Global navigation

Global Navigation, similar to the side panels, is anchored to the top of the screen; they do not possess a box_shadow since it is always visible and might cloud the interface.

Z-Index

CSS: --gse-semantic-elevation-3GlobalNavigation

Box Shadow

N/A

The Global Navigation using its Z-Index value.

The Global Navigation using its Z-Index value.


 

4. Copilot

Copilot is the AI-powered assistant of Genesys Cloud. It empowers employees to improve their Contact Center through deeper, more informed use of Genesys.

Z-Index

CSS: --gse-semantic-elevation-4Copilot

Box Shadow

Figma: shadow/2_side_panel

CSS: --gse-semantic-shadow-2SidePanel

Copilot using its Shadow style and Z-Index value.

Copilot using its Shadow style and Z-Index value.


 

5. Shroud

Shrouds are overlays used to make the user focus on a specific element on the screen, like modals or side panels.

Z-Index

CSS: --gse-semantic-elevation-5Shroud

Box Shadow

N/A

A shroud using its Z-Index value.

A shroud using its Z-Index value.


 

6. Modal

Modal dialogs interrupt users and demand an action. They are appropriate when the user’s attention needs to be directed toward important information.

Z-Index

CSS: --gse-semantic-elevation-6Modal

Box Shadow

Figma: shadow/6_modal

CSS: --gse-semantic-shadow-6Modal

A Modal using its Shadow style and Z-Index value.

A Modal using its Shadow style and Z-Index value.


 

7. Menus

Menus are interactive elements of the UI that float above the UI, ignoring the layout of the page.

Examples of this can be:

Z-Index

CSS: --gse-semantic-elevation-7Menu

Box Shadow

Figma: shadow/7_menu

CSS: --gse-semantic-shadow-7Menu

A Floating Menu using its Shadow style and Z-Index value.

A Floating Menu using its Shadow style and Z-Index value.


 

8. Dragged items

Dragged items are items that users can drag a drop; by default states these items sit on the card surface level, but when dragged, they take a higher elevation level.

Z-Index

CSS: --gse-semantic-elevation-8DraggedItem

Box Shadow

Figma: shadow/8_dragged_items

CSS: --gse-semantic-shadow-8DraggedItems

An item being dragged using its Shadow style and Z-Index value.

An item being dragged using its Shadow style and Z-Index value.


 

9. Toasts

Toasts, more often than not, contain information crucial for the user; usually, this information is time-sensitive, like a toast indicating a call or a new update of the app.

Z-Index

CSS: --gse-semantic-elevation-9Toast

Box Shadow

Figma: shadow/9_toast

CSS: --gse-semantic-shadow-9Toast

A Toast using its Shadow style and Z-Index value.

A Toast using its Shadow style and Z-Index value.


 

10. Tooltips

Tooltips are user-triggered messages that provide additional information about a page element or feature.

Z-Index

CSS: --gse-semantic-elevation-10Tooltip

Box Shadow

Figma: shadow/10_tooltip

CSS: --gse-semantic-shadow-10Tooltip

A Tooltip using its Shadow style and Z-Index value.

A Tooltip using its Shadow style and Z-Index value.


 

11. OS/Browser Alerts

These kinds of alerts will always take the highest layer since they are alerts coming directly from the Browser or the OS.

OS/Browser alerts appear on top of the whole interface.

OS/Browser alerts appear on top of the whole interface.