What is this?

Frame Styleguide serves as a digital brand guideline to building websites and experiences. The goal of a styleguide is to improve consistency, quality and communication across the UI, making the design and development process more efficient and focused.

This Styleguide is to establish a shared vocabulary between designer and developer, and providing clear, discoverable guidance around design and development best practices.

More information on the importance of Design Systems.

Who is this for?

Anyone who is designing or developing a new website using Frame. Even if you don’t need to use these components directly, the base styling and documentation should be a useful reference for how we have done stuff elsewhere and to reduce duplication of work and contaminating the style sheets.

How do I use it?

See Getting started on Slite for how to integrate this into your project and how to edit the base styling of your theme.

Color brings a design to life. Color is versatile; it's used to express emotion and tone, as well as place emphasis and create associations.

Primary
#000000
rgb(0, 0, 0)
$COLOR_PRIMARY
Secondary
#7F551C
rgb(99, 115, 129)
$COLOR_SECONDARY
Sand
#F4F1EB
rgb(244, 241, 232)
$COLOR_SAND
Red
#890000
rgb(139, 0, 0)
$COLOR_RED
Dark Brown
#4F2C1D
rgb(79, 44, 29)
$COLOR_DARK_BROWN
Text Primary
#000000
rgb(0, 0, 0)
$COLOR_TEXT_PRIMARY
Text Secondary
#515151
rgb(81, 81, 81)
$COLOR_TEXT_SECONDARY
Text Light
#949494
rgb(148, 148, 148)
$COLOR_TEXT_LIGHT
Text Inverse
#FFFFFF
rgb(255, 255, 255)
$COLOR_TEXT_INVERSE
Background Dark
#000000
rgb(0, 0, 0)
$COLOR_BACKGROUND_DARK
Background Light
#F9F8F3
rgb(249, 248, 243)
$COLOR_BACKGROUND_LIGHT
Background White
#FFFFFF
rgb(255, 255, 255)
$COLOR_BACKGROUND_WHITE
Background Light Grey
#F5F5F5
rgb(245, 245, 245)
$COLOR_BACKGROUND_GREY
Border Light
#E5E5E5
rgb(229, 229, 229)
$COLOR_BORDER_LIGHT
Border Dark
#CCCCCC
rgb(204, 204, 204)
$COLOR_BORDER_DARK
Link
#7F551C
rgb(127, 85, 28)
$COLOR_LINK
Link Hover
#000000
rgb(0, 0, 0)
$COLOR_LINK_HOVER
Button
#7F551C
rgb(127, 85, 28)
$COLOR_BUTTON
Button Hover
#000000
rgb(0, 0, 0)
$COLOR_BUTTON_HOVER
Info
#000000
rgb(0, 0, 0)
$COLOR_SUPPORT_INFO
Success
#00AA00
rgb(0, 170, 0)
$COLOR_SUPPORT_SUCCESS
Warning
#E65722
rgb(230, 87, 34)
$COLOR_SUPPORT_WARNING
Error
#890000
rgb(139, 0, 0);
$COLOR_SUPPORT_ERROR
Focus
#5E9ED6
rgb(94, 158, 214)
$COLOR_SUPPORT_FOCUS

Custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.

.button--primary,
.button--primary.button--outlined
.button--secondary
.button--light,
.button--outlined,
.button--secondary.button--secondary-light
.button--buy

Examples and usage guidelines for form control styles, layout options, and custom components for creating a wide variety of forms.

We'll never share your email with anyone else.
Multiple options
Radio (input + label)

The Frame grid system provides a flexible, mobile-first, device-agnostic layout system. It has features to control alignment, order, flow, and gutters.

The grid system is based off materialize.css.

Standard columns

1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
4
4
4
6
6

Desktop 12 / Tablet 6 / Mobile 4

1
1
1
1
1
1
1
1
1
1
1
1

Desktop 12 / Tablet 6 / Mobile 4 (No gutters)

1
1
1
1
1
1
1
1
1
1
1
1

Icons are designed to be simple, modern, friendly, and sometimes quirky. Each icon is reduced to its minimal form, expressing essential characteristics to either replace or accompany labels.

Spacing variables are used to consistently apply margin and padding across components and UIs. Having a set spacing scale brings a rhythm to the product and creates a natural and familiar flow from page to page.

$SPACING_3XS

$SPACING_2XS

$SPACING_XS

$SPACING_S

$SPACING_M

$SPACING_L

$SPACING_XL

$SPACING_2XL

$SPACING_3XL

$LAYOUT_2XS

$LAYOUT_XS

$LAYOUT_S

$LAYOUT_M

$LAYOUT_L

$LAYOUT_XL

$LAYOUT_2XL

Typography is used to create clear hierarchies, useful organizations, and purposeful alignments that guide users through the product and experience. It is the core structure of any well designed interface.

Display 1

.d1

Display 2

.d2

Display 3

.d3

Heading 1

h1, .h1

Heading 2

h2, .h2

Heading 3

h3, .h3

Heading 4

h4, .h4
Heading 5
h5, .h5
Heading 6
h6, .h6

Subtitle 1

.subtitle-1

Subtitle 2

.subtitle-2

Body 1

p, .body-1

Body 2

.body-2
Caption
.caption
Label
.label
.text-link
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
blockquote, .blockquote
  1. Ordered List level 1
    1. Ordered List level 2
    2. Ordered List level 2
  2. Ordered List level 1
  3. Ordered List level 1
ol, .ol
  • Unordered List level 1
    • Unordered List level 2
    • Unordered List level 2
  • Unordered List level 1
  • Unordered List level 1
ul, .ul

You can use the mark tag to highlight text.

mark

This line of text is meant to be treated as deleted text.

del

This line of text is meant to be treated as no longer accurate.

s

This line of text is meant to be treated as an addition to the document.

ins

This line of text will render as underlined

u

This line of text is meant to be treated as fine print.

small

This line rendered as bold text.

strong

This line rendered as italicized text.

em

The appearance of payment icons help reinforce the feeling of security on the website. These are the currently enabled payment options defined in the store settings.

  • american_express
  • apple_pay
  • google_pay
  • maestro
  • master
  • paypal
  • shopify_pay
  • unionpay
  • visa

Product cards are a medium-sized component that contains key product information such as a featured thumbnail, title and price. These products cards are shared across the theme and are one of the most re-usable components available.