Elevation and Material symbols in Sketch
Tags: Design Systems, UI, Design, Sketch, UX

Sketch Tutorials

Elevation and Material symbols in Sketch

Setting up a multipurpose building block for UI kit components

Last week we added a small but exciting symbol to the component list we would like to share with you. Material — is a primary building block for design libraries in sketch app, that can store and share the same universal rules across the design system components.

Download freebie file — https://goo.gl/GxBZWr

Back when I started this run, the idea was to add a shadow overrides into every Frames DS component, so I can quickly swap between different shadow states.

Problem?

The only way to have a swappable shadow it’s to nest a shadow symbol instance within a symbol bottom. But, alongside with shadow, there could be much more different instances already nested within the symbol (shape, state, icons, etc.), this will lead to a messy = inconsistent symbol structure we probably don’t want to have and share.

“When you can’t come up with emoji for each override line. “

So what if we have a single basement for every component through the design system, which can contain an auto-updatable background and elevation properties? So we no need to look up for the right drop-down. Instead, we can have all the visuals options always in one place.

Elevation

To create this feels of depth within the interactions, shadow/box-shadow properties are commonly used, allowing to indicate the distance between UI objects and the surface visually. For a design system, such Frames is, it was advantageous to have a standard set of shadow properties alongside with brand colors, for a consistent approach to building interface states.

Material Design has done a great job in this direction, so we can take the best out of it guides and apply it to the practice of working with nested symbols. Making it possible for a designer to do quickly swap different z-index levels, customize color fill and contour shape, just like this:

A perfect basement for nested symbols (buttons, cards, forms, etc.)

Material

This symbol serves as a bottom layer for every UI element that will propagate the same rules through the documents and projects. Materials are built using 3 main override properties: Border, Fill, and Elevation, all available for various manipulations and combinations.

For each elevation option, we have a symbol with a shadow depth property from 0 to 6 DP (layer elevation is commonly measured in DP — Device-independent pixels) to indicate the pixel density of the shadow.

Note! Sketch have an issue on shadows & symbols, for some reason if you increase shadow distance up to 10–16 DP’s, the shadow visuals will get cut by an invisible mask. Which looks not that well — https://goo.gl/GupMEf. Hope we can get a fix for this in nearest time. 🤞

The Elevation property can appear on any UI object. Meaning we need the shadow appears in different forms to match the shape of the object in which it is included.

Note: that each layer type should be nested into its parent symbol.

Tip: All groups should have different artboard sizes to not overload the overrides menu.

Use 3 or more layer types, of same artboard size but different radius properties, such as, 00 pt, 04 pt, 100 pt to create various shape instances. We also put Border and Fill properties folders to stay nested above the elevation symbol, and form a background and a contour color.

Trick! 👀

To make this symbol neat, you can use a combined shape to form the Border (which will still have a Fill color override). And don’t forget to snap the inner container to pin to all edges on resizing.

This approach will not only grant a more consistent Color usage through the document but also will save your library from the unnecessary color symbol duplication. 👌

Scale the number of Fill styles to meet an infinite number of border/background combinations.

Summary

Using Materials for building and scaling design systems can grant you the following perks:

Provides a single set of overrides customization options, useful when working with teammates to set up a common design language.

All visual properties are automatically updated with your design system styles. (You can easily add Material to an existing style guide).

Saves time, making it possible to have only one symbol for both flat and raised surfaces, eliminating the need for constant “Background” layer creation.

Touch 👆 to Download

Here you can find a .sketch file containing Material symbol library, use it to implement universal elevation rules through your components/sketch libraries or experiment with shadows and style, the installation process is simple:

Copy all the contents of the symbol page Paste them into an existing library or add this file as a library Add Material into a component by nesting it on the bottom of the symbol container.

Have fun adding your styles and using this tiny library to come up with visual ideas for new design projects quickly.