LogoCraftReactNative

Theming

Customize components and templates with a centralized, accessible theming system that supports light/dark modes and follows WCAG guidelines.

The theming system provides a comprehensive, centralized approach to styling your React Native app. The theme configuration is pre-defined in the craftrn-ui/themes folder, containing colors, spacing, and typography definitions that are integrated with Unistyles for seamless access across your entire application.

All components and templates are built on this unified theme configuration, ensuring consistency while simplifying maintenance. The system supports dynamic theme switching (such as light/dark mode) and is designed with accessibility in mind. Color contrasts meet WCAG guidelines, and all visual elements remain usable across different themes and user preferences, making your app accessible to everyone regardless of their visual abilities or device settings.

Theme Variants

CraftReactNative components & templates comes with 2 theme variants:

  • Teal Theme: A calming blue-green color scheme
  • Orange Theme: A warm and energetic orange color scheme

Each theme variant includes both light and dark modes for optimal usability in different lighting conditions.

Neutral (Slate)

slate10
slate50
slate100
slate200
slate300
slate400
slate500
slate600
slate700
slate800
slate900
slate950
slate990

Neutral (Stone)

stone10
stone50
stone100
stone200
stone300
stone400
stone500
stone600
stone700
stone800
stone900
stone950
stone990

Teal

brightTeal100
brightTeal200
brightTeal300
brightTeal400
darkTeal500
darkTeal600
darkTeal700
darkTeal800
darkTeal900
darkTeal950

Orange

brightOrange100
brightOrange200
brightOrange300
brightOrange400
darkOrange500
darkOrange600
darkOrange700
darkOrange800
darkOrange900
darkOrange950

Semantic

negative50
negative100
negative200
negative400
negative500
negative900
negative950
positive50
positive100
positive200
positive400
positive500
positive900
positive950
blue300
blue700

Non-semantic

purple600
maroon600
steel600
forest600
sunshine200

Color Tokens

The theme system uses semantic color tokens that adapt to the current theme variant and mode. This ensures consistent styling across your application while maintaining accessibility standards.

Background

backgroundScreen
Light Teal
slate100
#e0e0e6
Dark Teal
slate990
#121217
Light Orange
stone100
#ebe8e4
Dark Orange
stone990
#191715
backgroundScreenSecondary
Light Teal
slate10
#fcfcff
Dark Teal
slate950
#202029
Light Orange
stone10
#fdfcfa
Dark Orange
stone950
#282623
backgroundElevated
Light Teal
slate10
#fcfcff
Dark Teal
slate950
#202029
Light Orange
stone10
#fdfcfa
Dark Orange
stone950
#282623
backgroundNeutral
Light Teal
custom
#20202915
Dark Teal
custom
#d0d0d815
Light Orange
custom
#28262315
Dark Orange
custom
#dcd8d215
backgroundOverlay
Light Teal
custom
#20202980
Dark Teal
custom
#e0e0e680
Light Orange
custom
#28262380
Dark Orange
custom
#ebe8e480

Interactive - Primary

interactivePrimary
Light Teal
brightTeal200
#9de2e2
Dark Teal
brightTeal300
#6ED1D1
Light Orange
brightOrange200
#efc685
Dark Orange
brightOrange300
#e8b05f
interactivePrimaryPress
Light Teal
brightTeal300
#6ED1D1
Dark Teal
brightTeal200
#9de2e2
Light Orange
brightOrange300
#e8b05f
Dark Orange
brightOrange200
#efc685
interactivePrimaryContent
Light Teal
darkTeal900
#072829
Dark Teal
darkTeal900
#072829
Light Orange
darkOrange900
#3f240e
Dark Orange
darkOrange900
#3f240e
interactivePrimaryContentPress
Light Teal
darkTeal950
#031a1d
Dark Teal
darkTeal800
#09414f
Light Orange
darkOrange950
#241407
Dark Orange
darkOrange800
#5d3715

Interactive - Secondary

interactiveSecondary
Light Teal
brightTeal100
#c1f2f2
Dark Teal
darkTeal800
#09414f
Light Orange
brightOrange100
#f4d9ad
Dark Orange
darkOrange800
#5d3715
interactiveSecondaryPress
Light Teal
brightTeal200
#9de2e2
Dark Teal
darkTeal600
#157183
Light Orange
brightOrange200
#efc685
Dark Orange
darkOrange600
#9a652e
interactiveSecondaryContent
Light Teal
darkTeal800
#09414f
Dark Teal
brightTeal300
#6ED1D1
Light Orange
darkOrange800
#5d3715
Dark Orange
brightOrange300
#e8b05f
interactiveSecondaryContentPress
Light Teal
darkTeal900
#072829
Dark Teal
brightTeal100
#c1f2f2
Light Orange
darkOrange900
#3f240e
Dark Orange
brightOrange100
#f4d9ad

Interactive - Neutral

interactiveNeutral
Light Teal
slate100
#e0e0e6
Dark Teal
slate900
#353545
Light Orange
stone100
#ebe8e4
Dark Orange
stone900
#3e3b36
interactiveNeutralPress
Light Teal
slate200
#d0d0d8
Dark Teal
slate800
#4a4a5b
Light Orange
stone200
#dcd8d2
Dark Orange
stone800
#54504a
interactiveNeutralContent
Light Teal
slate900
#353545
Dark Teal
slate100
#e0e0e6
Light Orange
stone900
#3e3b36
Dark Orange
stone100
#ebe8e4
interactiveNeutralContentPress
Light Teal
slate990
#121217
Dark Teal
slate50
#f9f9fb
Light Orange
stone990
#191715
Dark Orange
stone50
#faf9f7

Interactive - Reversed

interactiveNeutralReversed
Light Teal
slate990
#121217
Dark Teal
slate10
#fcfcff
Light Orange
stone990
#191715
Dark Orange
stone10
#fdfcfa
interactiveNeutralReversedPress
Light Teal
slate900
#353545
Dark Teal
slate100
#e0e0e6
Light Orange
stone900
#3e3b36
Dark Orange
stone100
#ebe8e4
interactiveNeutralReversedContent
Light Teal
slate50
#f9f9fb
Dark Teal
slate900
#353545
Light Orange
stone50
#faf9f7
Dark Orange
stone900
#3e3b36
interactiveNeutralReversedContentPress
Light Teal
slate10
#fcfcff
Dark Teal
slate990
#121217
Light Orange
stone10
#fdfcfa
Dark Orange
stone990
#191715

Content

contentPrimary
Light Teal
slate990
#121217
Dark Teal
slate10
#fcfcff
Light Orange
stone990
#191715
Dark Orange
stone10
#fdfcfa
contentSecondary
Light Teal
slate900
#353545
Dark Teal
slate100
#e0e0e6
Light Orange
stone900
#3e3b36
Dark Orange
stone100
#ebe8e4
contentTertiary
Light Teal
slate700
#636375
Dark Teal
slate300
#c0c0c9
Light Orange
stone700
#6f6962
Dark Orange
stone300
#cdc7c0
contentAccent
Light Teal
darkTeal800
#09414f
Dark Teal
brightTeal200
#9de2e2
Light Orange
darkOrange800
#5d3715
Dark Orange
brightOrange200
#efc685
contentAccentSecondary
Light Teal
darkTeal500
#228c98
Dark Teal
brightTeal400
#48B8B8
Light Orange
darkOrange500
#b8824a
Dark Orange
brightOrange400
#df9940

Borders

borderNeutral
Light
custom
#20202910
Dark
custom
#fcfcff10
borderNeutralSecondary
Light
custom
#20202930
Dark
custom
#fcfcff30

Base Colors

baseLight
Light
slate10
#fcfcff
Dark
slate10
#fcfcff
baseDark
Light
slate990
#121217
Dark
slate990
#121217

Semantic

sentimentPositive
Light
positive400
#427b18
Dark
positive200
#c5e9a8
sentimentPositivePress
Light
positive500
#305911
Dark
positive500
#305911
sentimentNegative
Light
negative400
#b30000
Dark
negative200
#d09090
sentimentNegativePress
Light
negative500
#800000
Dark
negative100
#e6c1c1
sentimentSecondaryPositive
Light
positive50
#effae7
Dark
positive950
#070e03
sentimentSecondaryPositivePress
Light
positive100
#e2f6d3
Dark
positive900
#0f1b05
sentimentSecondaryNegative
Light
negative50
#ffe5e5
Dark
negative950
#1a0000
sentimentSecondaryNegativePress
Light
negative100
#e6c1c1
Dark
negative900
#330000
informativePrimary
Light
blue700
#1d4ed8
Dark
blue300
#6aa7f1

Non-semantic

white
Light
stone10
#fdfcfa
Dark
stone10
#fdfcfa
black
Light
stone900
#3e3b36
Dark
stone900
#3e3b36
purple
Light
purple600
#544171
Dark
purple600
#544171
maroon
Light
maroon600
#714148
Dark
maroon600
#714148
steel
Light
steel600
#415171
Dark
steel600
#415171
forest
Light
forest600
#456138
Dark
forest600
#456138
sunshine
Light
sunshine200
#f5be0a
Dark
sunshine200
#f5be0a
red
Light
negative500
#800000
Dark
negative500
#800000
green
Light
positive500
#305911
Dark
positive500
#305911
blue
Light
blue700
#1d4ed8
Dark
blue700
#1d4ed8

Border radius

BorderRadius Preview

Light Teal
Dark Teal
Light Orange
Dark Orange

BorderRadius Values

xsmall4px
small8px
medium12px
large16px
xlarge24px
xxlarge32px
full999px

Spacings

xxsmall2px
xsmall4px
small8px
medium12px
large16px
xlarge24px
xxlarge32px

Text variants

heading132px / 32px / 900
The quick brown fox jumps over the lazy dog
heading224px / 30px / 800
The quick brown fox jumps over the lazy dog
heading318px / 25px / 700
The quick brown fox jumps over the lazy dog
body116px / 20px / 400
The quick brown fox jumps over the lazy dog
body214px / 18px / 400
The quick brown fox jumps over the lazy dog
body312px / 15px / 400
The quick brown fox jumps over the lazy dog

On this page