mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
2.1 KiB
107 lines
2.1 KiB
2 years ago
|
import colors from 'windicss/colors'
|
||
|
|
||
2 years ago
|
export const theme = {
|
||
3 years ago
|
light: ['#ffdce5', '#fee2d5', '#ffeab6', '#d1f7c4', '#ede2fe', '#eee', '#cfdffe', '#d0f1fd', '#c2f5e8', '#ffdaf6'],
|
||
3 years ago
|
dark: [
|
||
|
'#f82b6099',
|
||
|
'#ff6f2c99',
|
||
|
'#fcb40099',
|
||
|
'#20c93399',
|
||
|
'#8b46ff99',
|
||
|
'#666',
|
||
|
'#2d7ff999',
|
||
|
'#18bfff99',
|
||
|
'#20d9d299',
|
||
|
'#ff08c299',
|
||
|
],
|
||
|
}
|
||
|
|
||
2 years ago
|
export const enumColor = {
|
||
3 years ago
|
light: ['#cfdffe', '#d0f1fd', '#c2f5e8', '#ffdaf6', '#ffdce5', '#fee2d5', '#ffeab6', '#d1f7c4', '#ede2fe', '#eeeeee'],
|
||
3 years ago
|
dark: [
|
||
|
'#2d7ff999',
|
||
|
'#18bfff99',
|
||
|
'#20d9d299',
|
||
|
'#ff08c299',
|
||
|
'#f82b6099',
|
||
|
'#ff6f2c99',
|
||
|
'#fcb40099',
|
||
|
'#20c93399',
|
||
|
'#8b46ff99',
|
||
|
'#666',
|
||
|
],
|
||
|
}
|
||
|
|
||
2 years ago
|
export const themeColors = {
|
||
|
'background': '#FFFFFF',
|
||
|
'surface': '#FFFFFF',
|
||
2 years ago
|
'primary': '#4351e8',
|
||
2 years ago
|
'secondary': '#03DAC6',
|
||
|
'secondary-darken-1': '#018786',
|
||
|
'error': '#B00020',
|
||
|
'info': '#2196F3',
|
||
|
'success': '#4CAF50',
|
||
|
'warning': '#FB8C00',
|
||
|
}
|
||
2 years ago
|
|
||
|
export const themeV2Colors = {
|
||
|
/** Primary shades */
|
||
|
'royal-blue': {
|
||
|
'DEFAULT': '#4351E8',
|
||
|
'50': '#E7E8FC',
|
||
|
'100': '#D4D8FA',
|
||
|
'200': '#B0B6F5',
|
||
|
'300': '#8C94F1',
|
||
|
'400': '#6773EC',
|
||
|
'500': '#4351E8',
|
||
|
'600': '#1A2BD8',
|
||
|
'700': '#1421A6',
|
||
|
'800': '#0E1774',
|
||
|
'900': '#080D42',
|
||
|
},
|
||
|
|
||
|
/** Accent shades */
|
||
|
'pink': colors.pink,
|
||
|
}
|
||
|
|
||
|
const isValidHex = (hex: string) => /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex)
|
||
|
|
||
|
const getChunksFromString = (st: string, chunkSize: number) => st.match(new RegExp(`.{${chunkSize}}`, 'g'))
|
||
|
|
||
|
const convertHexUnitTo256 = (hexStr: string) => parseInt(hexStr.repeat(2 / hexStr.length), 16)
|
||
|
|
||
|
export const hexToRGB = (hex: string) => {
|
||
|
if (!isValidHex(hex)) {
|
||
|
throw new Error('Invalid HEX')
|
||
|
}
|
||
|
|
||
|
const chunkSize = Math.floor((hex.length - 1) / 3)
|
||
|
|
||
|
const hexArr = getChunksFromString(hex.slice(1), chunkSize)!
|
||
|
|
||
|
const [r, g, b] = hexArr.map(convertHexUnitTo256)
|
||
|
|
||
|
return `${r}, ${g}, ${b}`
|
||
|
}
|
||
2 years ago
|
|
||
|
export const projectThemeColors = [
|
||
|
'#2D7FF9',
|
||
|
'#18BFFF',
|
||
|
'#60DAD5',
|
||
|
'#EC2CBD',
|
||
|
'#F82B60',
|
||
|
'#F57134',
|
||
|
'#1BAF2C',
|
||
|
'#8B46FF',
|
||
|
'#666666',
|
||
|
'#1B51A2',
|
||
|
'#146C8E',
|
||
|
'#24716E',
|
||
|
'#8A2170',
|
||
|
'#941737',
|
||
|
'#B94915',
|
||
|
'#0E4C15',
|
||
|
'#381475',
|
||
|
'#333333',
|
||
|
]
|