uniswap-interface-uncensored/src/theme/colors.ts
2022-08-16 09:05:43 -07:00

340 lines
8.4 KiB
TypeScript

// Based mostly on https://github.com/Uniswap/interface/blob/main/src/theme/index.tsx
import { Color } from './styled'
import { opacify } from './utils'
export interface GlobalPalette {
white: Color
black: Color
gray50: Color
gray100: Color
gray200: Color
gray300: Color
gray400: Color
gray500: Color
gray600: Color
gray700: Color
gray800: Color
gray900: Color
pink50: Color
pink100: Color
pink200: Color
pink300: Color
pink400: Color
pink500: Color
pink600: Color
pink700: Color
pink800: Color
pink900: Color
pinkVibrant: Color
red50: Color
red100: Color
red200: Color
red300: Color
red400: Color
red500: Color
red600: Color
red700: Color
red800: Color
red900: Color
redVibrant: Color
yellow50: Color
yellow100: Color
yellow200: Color
yellow300: Color
yellow400: Color
yellow500: Color
yellow600: Color
yellow700: Color
yellow800: Color
yellow900: Color
yellowVibrant: Color
gold200: Color
goldVibrant: Color
green50: Color
green100: Color
green200: Color
green300: Color
green400: Color
green500: Color
green600: Color
green700: Color
green800: Color
green900: Color
greenVibrant: Color
blue50: Color
blue100: Color
blue200: Color
blue300: Color
blue400: Color
blue500: Color
blue600: Color
blue700: Color
blue800: Color
blue900: Color
blueVibrant: Color
magentaVibrant: Color
purple900: Color
networkEthereum: Color
networkOptimism: Color
networkOptimismSoft: Color
networkPolygon: Color
networkArbitrum: Color
networkPolygonSoft: Color
networkEthereumSoft: Color
}
export const colors: GlobalPalette = {
white: '#FFFFFF',
black: '#000000',
gray50: '#F8F9FF',
gray100: '#DDE3F7',
gray200: '#B7BED4',
gray300: '#99A1BD',
gray400: '#7C85A2',
gray500: '#5E6887',
gray600: '#404963',
gray700: '#293249',
gray800: '#141B2B',
gray900: '#0E111A',
pink50: '#F9ECF1',
pink100: '#FFD9E4',
pink200: '#FBA4C0',
pink300: '#FF6FA3',
pink400: '#FB118E',
pink500: '#C41969',
pink600: '#8C0F49',
pink700: '#55072A',
pink800: '#350318',
pink900: '#2B000B',
pinkVibrant: '#F51A70',
red50: '#FAECEA',
red100: '#FED5CF',
red200: '#FEA79B',
red300: '#FD766B',
red400: '#FA2B39',
red500: '#C4292F',
red600: '#891E20',
red700: '#530F0F',
red800: '#380A03',
red900: '#240800',
redVibrant: '#F14544',
yellow50: '#F6F2D5',
yellow100: '#DBBC19',
yellow200: '#DBBC19',
yellow300: '#BB9F13',
yellow400: '#A08116',
yellow500: '#866311',
yellow600: '#5D4204',
yellow700: '#3E2B04',
yellow800: '#231902',
yellow900: '#180F02',
yellowVibrant: '#FAF40A',
// TODO: add gold 50-900
gold200: '#EEB317',
goldVibrant: '#FEB239',
green50: '#E3F3E6',
green100: '#BFEECA',
green200: '#76D191',
green300: '#40B66B',
green400: '#209853',
green500: '#0B783E',
green600: '#0C522A',
green700: '#053117',
green800: '#091F10',
green900: '#09130B',
greenVibrant: '#5CFE9D',
blue50: '#EDEFF8',
blue100: '#DEE1FF',
blue200: '#ADBCFF',
blue300: '#869EFF',
blue400: '#4C82FB',
blue500: '#1267D6',
blue600: '#1D4294',
blue700: '#09265E',
blue800: '#0B193F',
blue900: '#040E34',
blueVibrant: '#587BFF',
// TODO: add magenta 50-900
magentaVibrant: '#FC72FF',
purple900: '#1C0337',
// TODO: add all other vibrant variations
networkEthereum: '#627EEA',
networkOptimism: '#FF0420',
networkOptimismSoft: 'rgba(255, 4, 32, 0.16)',
networkPolygon: '#A457FF',
networkArbitrum: '#28A0F0',
networkPolygonSoft: 'rgba(164, 87, 255, 0.16)',
networkEthereumSoft: 'rgba(98, 126, 234, 0.16)',
}
export interface Palette {
userThemeColor: Color
backgroundBackdrop: Color
backgroundSurface: Color
backgroundInteractive: Color
backgroundFloating: Color
backgroundModule: Color
backgroundOutline: Color
backgroundScrim: Color
textPrimary: Color
textSecondary: Color
textTertiary: Color
accentAction: Color
accentActive: Color
accentSuccess: Color
accentWarning: Color
accentFailure: Color
accentActionSoft: Color
accentActiveSoft: Color
accentSuccessSoft: Color
accentWarningSoft: Color
accentFailureSoft: Color
accentTextDarkPrimary: Color
accentTextDarkSecondary: Color
accentTextDarkTertiary: Color
accentTextLightPrimary: Color
accentTextLightSecondary: Color
accentTextLightTertiary: Color
white: Color
black: Color
chain_1: Color
chain_3: Color
chain_4: Color
chain_5: Color
chain_10: Color
chain_137: Color
chain_42: Color
chain_69: Color
chain_42161: Color
chain_421611: Color
chain_80001: Color
chain_137_background: Color
chain_10_background: Color
chain_42161_background: Color
flyoutDropShadow: Color
}
export const colorsLight: Palette = {
userThemeColor: colors.magentaVibrant,
backgroundBackdrop: colors.white,
backgroundSurface: colors.white,
backgroundModule: colors.gray50,
backgroundInteractive: opacify(6, colors.gray700),
backgroundFloating: opacify(8, colors.white),
backgroundOutline: opacify(24, colors.gray500),
backgroundScrim: opacify(60, colors.gray900),
textPrimary: colors.gray900,
textSecondary: colors.gray500,
textTertiary: colors.gray300,
accentAction: colors.pink400,
accentActive: colors.blue400,
accentSuccess: colors.green400,
accentWarning: colors.gold200,
accentFailure: colors.red400,
accentActionSoft: opacify(12, colors.pink400),
accentActiveSoft: opacify(12, colors.blue400),
accentSuccessSoft: opacify(12, colors.green400),
accentWarningSoft: opacify(12, colors.gold200),
accentFailureSoft: opacify(12, colors.red400),
accentTextDarkPrimary: opacify(80, colors.black),
accentTextDarkSecondary: opacify(60, colors.black),
accentTextDarkTertiary: opacify(24, colors.black),
accentTextLightPrimary: colors.white,
accentTextLightSecondary: opacify(60, colors.white),
accentTextLightTertiary: opacify(12, colors.white),
white: colors.white,
black: colors.black,
chain_1: colors.networkEthereum,
chain_3: colors.yellow400,
chain_4: colors.pink400,
chain_5: colors.green400,
chain_10: colors.networkOptimism,
chain_137: colors.networkPolygon,
chain_42: colors.networkArbitrum,
chain_69: colors.networkOptimism,
chain_42161: colors.networkEthereum,
chain_421611: colors.networkEthereum,
chain_80001: colors.networkPolygon,
chain_137_background: colors.purple900,
chain_10_background: colors.red900,
chain_42161_background: colors.blue900,
flyoutDropShadow:
'0px 24px 32px rgba(0, 0, 0, 0.04), 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 4px 8px rgba(0, 0, 0, 0.04), 0px 0px 1px rgba(0, 0, 0, 0.12);',
}
export const colorsDark: Palette = {
userThemeColor: colors.magentaVibrant,
backgroundBackdrop: colors.black,
backgroundSurface: colors.gray900,
backgroundModule: opacify(8, colors.gray300),
backgroundInteractive: colors.gray700,
backgroundFloating: opacify(8, colors.gray700),
backgroundOutline: opacify(24, colors.gray300),
backgroundScrim: opacify(72, colors.gray900),
textPrimary: colors.white,
textSecondary: colors.gray300,
textTertiary: colors.gray400,
accentAction: colors.blue400,
accentActive: colors.blue400,
accentSuccess: colors.greenVibrant,
accentWarning: colors.gold200,
accentFailure: colors.red400,
accentActionSoft: opacify(24, colors.blue400),
accentActiveSoft: opacify(12, colors.blue400),
accentSuccessSoft: opacify(12, colors.green400),
accentWarningSoft: opacify(12, colors.gold200),
accentFailureSoft: opacify(12, colors.red400),
accentTextDarkPrimary: opacify(80, colors.black),
accentTextDarkSecondary: opacify(60, colors.black),
accentTextDarkTertiary: opacify(24, colors.black),
accentTextLightPrimary: colors.white,
accentTextLightSecondary: opacify(72, colors.white),
accentTextLightTertiary: opacify(12, colors.white),
white: colors.white,
black: colors.black,
chain_1: colors.networkEthereum,
chain_3: colors.yellow400,
chain_4: colors.pink400,
chain_5: colors.green400,
chain_10: colors.networkOptimism,
chain_137: colors.networkPolygon,
chain_42: colors.networkArbitrum,
chain_69: colors.networkEthereum,
chain_42161: colors.networkEthereum,
chain_421611: colors.networkEthereum,
chain_80001: colors.networkPolygon,
chain_137_background: colors.purple900,
chain_10_background: colors.red900,
chain_42161_background: colors.blue900,
flyoutDropShadow:
'0px 24px 32px rgba(0, 0, 0, 0.04), 0px 16px 24px rgba(0, 0, 0, 0.04), 0px 4px 8px rgba(0, 0, 0, 0.04), 0px 0px 1px rgba(0, 0, 0, 0.12);',
}