Theming

v2 release candidate

How Brand themes, supporting neutrals, and Light or Dark work across SquareKit products.

Theming at a glance

A theme gives each institution a recognizable identity while SquareKit keeps meaning, accessibility, and component behavior consistent.

Choice
What it changes
PrimaryThe main Brand color and its matching neutral palette.
SecondaryAn optional supporting Brand color.
Light or DarkThe appearance of surfaces, text, borders, and states.

Components stay the same

Components use stable roles from their platform UI Kit. Changing a Brand theme or appearance changes the resolved colors, not the component's structure or behavior.

Brand themes

Choose approved Primary and Secondary colors. Primary also selects the matching brand-neutral palette used for subtle surfaces, borders, and muted content.

Option
Available choices
How it works
Primary22 approved colorsSets the main Brand color and matching neutral palette.
Secondary22 approved colorsSets an optional supporting Brand color.
Da VinciParentSquare Green + ParentSquare OrangeRequired default pairing.
MonetMonet Green + Monet CyanRequired approved pairing.
Figma adapter20 of 22 colorsOmits Evergreen and Sapphire only because Figma variable collections allow 20 modes.

Supporting neutrals follow Primary

Each approved Primary owns one visually tuned, contrast-tested, versioned supporting-neutral profile. Named themes and custom pairings inherit that profile from Primary. Consuming products do not generate it, and Secondary does not select a second neutral profile.

Da Vinci

Required approved pairing

Primary: ParentSquare Green
50: #F4F9F1100: #EAF3E4200: #C0EFB4300: #B6D59F400: #80A66B500: #507740600: #224B17700: #16400C800: #083601900: #032B00950: #012000
Secondary: ParentSquare Orange
50: #FEF5F1100: #FDEBE3200: #FFD6BD300: #F5BB9B400: #F48F4F500: #D4742D600: #B45A00700: #8D4700800: #693400900: #472200950: #281200
Brand neutral: ParentSquare Green
50: #F4F5F4100: #EDEFEC200: #DCDFDC300: #C8CBC7400: #AEB3AD500: #959A93600: #6E736D700: #595E58800: #464945900: #2C2F2C950: #151615

Monet

Required approved pairing

Primary: Green
50: #E4FFD7100: #CFFFBA200: #9EFA74300: #88E762400: #6ACD4A500: #55BB39600: #3EAA26700: #018200800: #00580F900: #00390C950: #001D05
Secondary: Cyan
50: #ECF7FF100: #DFF1FF200: #BFE3FF300: #97D2FF400: #5CBAFF500: #31A0EE600: #0D87D4700: #0068AA800: #004A7F900: #002F56950: #00162F
Brand neutral: Green
50: #F4F6F3100: #ECEFEB200: #DBE0DA300: #C6CCC5400: #ABB4AA500: #919C90600: #6B746A700: #565F55800: #434B42900: #2B302A950: #141714
ParentSquare Green
ParentSquare Orange
Green
Cyan
Navy
Ocean
Midnight
Harbor
Cardinal
Brick
Cobalt
Crimson
Maroon
Plum
Iris
Violet
Evergreen
Teal
Sapphire
Gold
Kelly
Neutral

Canonical catalog

Primary and Secondary offer the same 22 Brand colors, and every Primary color includes a matching neutral palette. The Figma adapter exposes 20 modes because of Figma's collection limit, so Evergreen and Sapphire are omitted there only. They remain available in tokens and documentation.

Light and Dark appearance

Light and Dark change how approved color roles resolve. They do not change the Brand theme, the meaning of a role, or the structure of a component.

  • Review supported text, surface, border, focus, and state relationships in both appearances.
  • Keep success, warning, error, information, and destructive meaning stable across every Brand theme.
  • Pair important color meaning with text, icons, labels, position, or pattern.
  • Apply the theme and appearance at a shared product or comparison container, not on individual components.

Use platform roles

Web, iOS, and Material components use the semantic color roles owned by their UI Kit. Components never bind directly to shared Color or Brand values.

Current status

The v2 theme architecture is published in Figma. Production packages and complete component migration are not finished.

Release candidate

This page uses the verified v2 repository data. SQRKT will switch to exact published React and token package versions before production release.