Colors
Colors are available to all components when using color specific properties. This includes backgroundColor
, borderColor
, borderBottomColor
, borderLeftColor
, borderRightColor
,borderTopColor
, color
, fill
, and stroke
.
Apps
calendar
check-ins
giving
groups
home
music-stand
pco
people
planning-center
projector
registrations
services
Background
background
backgroundSecondary
backgroundTertiary
Blue
blue-0
blue-1
blue-2
blue-3
blue-4
blue-5
blue-6
blue-7
blue-8
blue-9
Dark
dark-0
dark-1
dark-2
dark-3
dark-4
dark-5
dark-6
dark-7
dark-8
dark-9
Days
friday
monday
saturday
sunday
thursday
tuesday
wednesday
Error
error
error-dark
error-darker
error-light
error-lighter
error-lightest
Foreground
foreground
foregroundSecondary
foregroundTertiary
Green
green-0
green-1
green-2
green-3
green-4
green-5
green-6
green-7
green-8
green-9
Grey
grey-0
grey-1
grey-2
grey-3
grey-4
grey-5
grey-6
grey-7
grey-8
grey-9
Highlight
highlight
highlightSecondary
Interaction
interaction
interaction-dark
interaction-darker
interaction-darkest
interaction-light
interaction-lighter
interaction-lightest
Light
Light/Dark palettes only affect alpha channels and will absorb the color underneath it.
light-0
light-1
light-2
light-3
light-4
light-5
light-6
light-7
light-8
light-9
Link
linkBackground
linkForeground
Primary
primary
primary-dark
primary-darker
primary-darkest
primary-light
primary-lighter
primary-lightest
Red
red-0
red-1
red-2
red-3
red-4
red-5
red-6
red-7
red-8
red-9
Separator
separator
separatorFocus
separatorFocusSecondary
separatorHover
separatorSecondary
separatorTertiary
Success
success
success-dark
success-darker
success-light
success-lighter
success-lightest
Surface
surface
surfaceSecondary
surfaceTertiary
Tapestry
create
grays
interaction66
Warning
warning
warning-dark
warning-darker
warning-light
warning-lighter
warning-lightest
Yellow
yellow-0
yellow-1
yellow-2
yellow-3
yellow-4
yellow-5
yellow-6
yellow-7
yellow-8
yellow-9
In Tapestry-React, colors are described as a palette
. A palette
is an object that contains all of the colors that you want to be available in the design system. By default Tapestry-React ships with a predefined set of colors that can be overridden where necessary.
We can categorize colors in three different ways:
- Named Scales
- Numeric Scales
- Name
Any color set that contains a base
key will use the name of the color and append each variant to its name. The example below would produce a colors
object that contained primary-lighter
, primary-light
, primary
, primary-dark
, and primary-darker
. It is recommended to use this approach for semantic color names like primary
, secondary
, success
, error
, etc.
const primary = {lighter: 'hsl(88, 32%, 72%)',light: 'hsl(88, 40%, 54%)',base: 'hsl(88, 44%, 40%)',dark: 'hsl(88, 64%, 32%)',darker: 'hsl(88, 72%, 20%)',}const palette = {primary,}
Any color set that contains an array will be keyed by its name and index position in the array. The example below would produce a colors
object that contained grey-0
, grey-1
, grey-2
, etc. It is recommended to use this approach for literal color names like red
, green
, blue
, etc.
const grey = ['hsl(0,0%,98%)','hsl(0,0%,96%)','hsl(0,0%,94%)','hsl(0,0%,92%)','hsl(0,0%,90%)','hsl(0,0%,86%)','hsl(0,0%,72%)','hsl(0,0%,48%)','hsl(0,0%,36%)','hsl(0,0%,24%)',]const palette = {primary,grey,}
Color sets that use objects and do not contain a base
key will be resolved by their individual key name. The example below would produce a colors
object that contained sunday
, monday
, tuesday
, wednesday
, etc. Rather than specifying these directly in the palette, by using a key to group our colors we can provide extra information for documentation and tooling purposes.
const days = {sunday: '#7DC156',monday: '#789FF8',tuesday: '#A193FD',wednesday: '#D18CF6',thursday: '#FA7EA4',friday: '#F69688',saturday: '#66BEEB',}const palette = {primary,grey,days,}