WEC Design System uses Telkomsel brand colors with a comprehensive palette for semantic communication. Our color system ensures accessibility, visual consistency, and brand alignment.
Token Value Usage Telkomsel Red #FF0025Primary actions, links, CTAs, brand emphasis Dark Blue #001A41Headings, dark backgrounds, secondary brand Black #000000Text, borders, high contrast White #ffffffBackgrounds, text on dark
Token Value Usage Grey 10 #FAFAFBVery light backgrounds, subtle surfaces Grey 20 #EDECF0Light backgrounds, dividers Grey 40 #CCCFD3Borders, disabled states Grey 50 #79838DSecondary text, icons Grey 60 #99A0A7Placeholder text, disabled content Grey 80 #66707ABody text alternatives Grey 90 #5F6368Secondary content Grey 100 #4E5764Primary body text
Token Value Usage Light #EDFCF0Success background, valid state bg Base #008E53Success text, icons, valid indicators Dark #005C36Success borders, dark mode
Token Value Usage Light #E9F6FFInfo background Base #0050AEInfo text, links, focus states Dark #002D7DInfo borders, dark mode
Token Value Usage Light #FEF3D4Warning background Base #FDA22BWarning text, icons, alerts Dark #D9801FWarning borders
Token Value Usage Light #FDDDD4Error background Base #BC1D42Error text, destructive actions Dark #9D1440Error borders, dark mode
Name Value Usage Mustard/Golden #FDA22BBadges, highlights, warnings Green (Success) #008E53Success states, confirmations Sunset Orange #FE6E00Special offers, promotions Forest Green #1D9940Alternative success state Warning Orange #D44000Critical warnings
Gradient Value Usage Primary Red Red gradient (horizontal flow) CTAs, primary buttons, headers Secondary Blue Blue gradient (horizontal flow) Secondary CTAs, headers
Use Telkomsel Red (#FF0025) for:
Primary buttons (Buy Now, Continue, Submit)
Active navigation items
Important links
Brand elements
Use Dark Blue (#001A41) for:
Secondary buttons
Headings and subheadings
Footer text
Less prominent links
Context Color Value Primary text Grey 100 #4E5764Secondary text Grey 50 #79838DDisabled text Grey 60 #99A0A7On dark backgrounds White #ffffff
Context Color Value Default background White #ffffffSubtle background Grey 10 #FAFAFBSection background Grey 20 #EDECF0Dark background Dark Blue #001A41
All color combinations meet WCAG 2.1 Level AA requirements:
Foreground Background Contrast Ratio Passes Grey 100 (#4E5764) White (#ffffff) 8.2:1 ✅ AA + AAA Telkomsel Red (#FF0025) White (#ffffff) 4.5:1 ✅ AA Dark Blue (#001A41) White (#ffffff) 13.5:1 ✅ AA + AAA Success (#008E53) Success Light (#EDFCF0) 5.1:1 ✅ AA Error (#BC1D42) Error Light (#FDDDD4) 4.8:1 ✅ AA Info (#0050AE) Info Light (#E9F6FF) 6.2:1 ✅ AA + AAA
Use these colors for focus indicators:
Context Color Value Primary focus Blue #0050AESecondary focus Red #FF0025
/* Example focus styles */
outline : 2 px solid # 0050AE ;
.button-primary:focus-visible {
outline : 2 px solid # FF0025 ;
--color-primary : # FF0025 ;
--color-secondary : # 001A41 ;
--color-grey-10 : # FAFAFB ;
--color-grey-20 : # EDECF0 ;
--color-grey-40 : # CCCFD3 ;
--color-grey-50 : # 79838D ;
--color-grey-60 : # 99A0A7 ;
--color-grey-80 : # 66707A ;
--color-grey-90 : # # 5F6368 ;
--color-grey-100 : # 4E5764 ;
/* Semantic Colors - Success */
--color-success-light : # EDFCF0 ;
--color-success-base : # 008E53 ;
--color-success-dark : # 005C36 ;
/* Semantic Colors - Info */
--color-info-light : # E9F6FF ;
--color-info-base : # 0050AE ;
--color-info-dark : # 002D7D ;
/* Semantic Colors - Warning */
--color-warning-light : # FEF3D4 ;
--color-warning-base : # FDA22B ;
--color-warning-dark : # D9801F ;
/* Semantic Colors - Error */
--color-error-light : # FDDDD4 ;
--color-error-base : # BC1D42 ;
--color-error-dark : # 9D1440 ;
--gradient-primary : linear-gradient ( 76.81 deg , # B90024 15.71 % , # FF0025 68.97 % , # FD195E 94.61 % );
--gradient-secondary : linear-gradient ( 75.07 deg , # 001A41 17.5 % , # 0E336C 105.9 % );
// Primary button - Telkomsel Red gradient
< button className = " bg-gradient-to-r from-[#B90024] via-[#FF0025] to-[#FD195E] text-white " >
// Secondary button - White with red border
< button className = " bg-white border-2 border-[#FF0025] text-[#FF0025] " >
< div className = " bg-[#EDFCF0] text-[#008E53] " > Payment successful </ div >
< div className = " bg-[#FDDDD4] text-[#BC1D42] " > Payment failed </ div >
< div className = " bg-[#FEF3D4] text-[#FDA22B] " > Session expiring soon </ div >
< div className = " bg-[#E9F6FF] text-[#0050AE] " > New features available </ div >
< h1 className = " text-[#001A41] " > Page Title </ h1 >
< p className = " text-[#4E5764] " > Body text goes here... </ p >
< p className = " text-[#79838D] " > Secondary information </ p >
< p className = " text-[#99A0A7] " > Disabled state </ p >
✅ Do ❌ Don’t Use semantic colors for their intended purpose Use red for non-destructive actions Ensure 4.5:1 contrast ratio for normal text Use light gray text on white backgrounds Use color + icons for status indicators Rely on color alone to convey meaning Test with color blindness simulators Assume everyone sees color the same Support both light and dark modes Hardcode colors without alternatives
Before using colors in production: