mirror of
https://github.com/tloncorp/landscape.git
synced 2024-12-18 06:11:37 +03:00
f9105ff7b9
For #165 This adds a purple bullet to the groups tile for users who have not yet opened groups. The popover will either show some text about groups or let them know that they've been invited to a group (in the case of onboarding via lure).
233 lines
4.6 KiB
JavaScript
233 lines
4.6 KiB
JavaScript
const defaultTheme = require('tailwindcss/defaultTheme');
|
|
const resolveConfig = require('tailwindcss/resolveConfig');
|
|
const { Theme, ThemeManager } = require('tailwindcss-theming/api');
|
|
|
|
const themableProperties = [
|
|
'spacing',
|
|
'fontFamily',
|
|
//'fontSize', would require change in tailwindcss-theming
|
|
'fontWeight',
|
|
'letterSpacing',
|
|
'lineHeight',
|
|
'borderRadius',
|
|
'borderWidth',
|
|
'boxShadow',
|
|
];
|
|
|
|
function variablizeTheme(themeConfig, theme) {
|
|
themableProperties.forEach((prop) => {
|
|
const propSet = themeConfig[prop];
|
|
Object.entries(propSet).forEach(([key, value]) => {
|
|
theme.setVariable(key, value, prop, prop);
|
|
});
|
|
});
|
|
}
|
|
|
|
const config = resolveConfig({
|
|
theme: {
|
|
fontFamily: {
|
|
sans: [
|
|
'Inter',
|
|
'Inter UI',
|
|
'-apple-system',
|
|
'BlinkMacSystemFont',
|
|
'San Francisco',
|
|
'Helvetica Neue',
|
|
'Arial',
|
|
'sans-serif',
|
|
],
|
|
mono: ['Source Code Pro', 'Roboto mono', 'Courier New', 'monospace'],
|
|
},
|
|
extend: {
|
|
lineHeight: {
|
|
tight: 1.2,
|
|
snug: 1.33334,
|
|
relaxed: 1.66667,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
const base = new Theme().addColors({
|
|
transparent: 'transparent',
|
|
white: '#FFFFFF',
|
|
black: '#000000',
|
|
gray: {
|
|
50: '#F5F5F5',
|
|
100: '#E5E5E5',
|
|
200: '#CCCCCC',
|
|
300: '#B3B3B3',
|
|
400: '#999999',
|
|
500: '#808080',
|
|
600: '#666666',
|
|
700: '#4D4D4D',
|
|
800: '#333333',
|
|
900: '#1A1A1A',
|
|
},
|
|
blue: {
|
|
DEFAULT: '#008EFF',
|
|
soft: '#E5F4FF',
|
|
50: '#EFF9FF',
|
|
100: '#C8EDFF',
|
|
200: '#A0E1FF',
|
|
300: '#5FBFFF',
|
|
400: '#219DFF',
|
|
500: '#0F75D8',
|
|
600: '#0252B2',
|
|
700: '#00388B',
|
|
800: '#002364',
|
|
900: '#00133E',
|
|
},
|
|
red: {
|
|
50: '#FFF4F2',
|
|
100: '#FFDED6',
|
|
200: '#FFC8B9',
|
|
300: '#FC9B84',
|
|
400: '#F57456',
|
|
500: '#EE5432',
|
|
600: '#D03B22',
|
|
700: '#B12918',
|
|
800: '#931C13',
|
|
900: '#751410',
|
|
},
|
|
orange: {
|
|
50: '#FFF4EF',
|
|
100: '#FFE2CE',
|
|
200: '#FFCEAB',
|
|
300: '#FFA56F',
|
|
400: '#FF7E36',
|
|
500: '#D85E1E',
|
|
600: '#B2420C',
|
|
700: '#8B2B00',
|
|
800: '#641E00',
|
|
900: '#3E1100',
|
|
},
|
|
indigo: {
|
|
DEFAULT: '#615FD3',
|
|
},
|
|
green: {
|
|
100: '#E6F5F0',
|
|
200: '#B3E2D1',
|
|
300: '#009F65',
|
|
},
|
|
yellow: {
|
|
100: '#FFF9E6',
|
|
200: '#FFEEB3',
|
|
300: '#FFDD66',
|
|
400: '#FFC700',
|
|
500: '#ECCB27',
|
|
},
|
|
});
|
|
variablizeTheme(config.theme, base);
|
|
|
|
const dark = new Theme()
|
|
.setName('dark')
|
|
.targetable()
|
|
.addColors({
|
|
transparent: 'transparent',
|
|
white: '#000000',
|
|
black: '#FFFFFF',
|
|
gray: {
|
|
50: '#1A1A1A',
|
|
100: '#333333',
|
|
200: '#4D4D4D',
|
|
300: '#666666',
|
|
400: '#808080',
|
|
500: '#999999',
|
|
600: '#B3B3B3',
|
|
700: '#CCCCCC',
|
|
800: '#E5E5E5',
|
|
900: '#F2F2F2',
|
|
},
|
|
red: {
|
|
50: '#751410',
|
|
100: '#931C13',
|
|
200: '#B12918',
|
|
300: '#D03B22',
|
|
400: '#EE5432',
|
|
500: '#F57456',
|
|
600: '#FC9B84',
|
|
700: '#FFC8B9',
|
|
800: '#FFDED6',
|
|
900: '#FFF4F2',
|
|
},
|
|
blue: {
|
|
DEFAULT: '#008EFF',
|
|
50: '#00133E',
|
|
100: '#002364',
|
|
200: '#00388B',
|
|
300: '#0252B2',
|
|
400: '#0F75D8',
|
|
500: '#219DFF',
|
|
600: '#5FBFFF',
|
|
700: '#A0E1FF',
|
|
800: '#C8EDFF',
|
|
900: '#EFF9FF',
|
|
},
|
|
orange: {
|
|
50: '#3E1100',
|
|
100: '#641E00',
|
|
200: '#8B2B00',
|
|
300: '#B2420C',
|
|
400: '#D85E1E',
|
|
500: '#FF7E36',
|
|
600: '#FFA56F',
|
|
700: '#FFCEAB',
|
|
800: '#FFE2CE',
|
|
900: '#FFF4EF',
|
|
},
|
|
green: {
|
|
100: '#182722',
|
|
200: '#134231',
|
|
300: '#009F65',
|
|
},
|
|
yellow: {
|
|
100: '#312B18',
|
|
200: '#5F4E13',
|
|
300: '#A4820B',
|
|
400: '#FFC700',
|
|
},
|
|
});
|
|
|
|
const themes = new ThemeManager().setDefaultTheme(base).addTheme(dark);
|
|
|
|
module.exports = {
|
|
mode: 'jit',
|
|
purge: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
|
|
darkMode: 'class', // or 'media' or 'class'
|
|
theme: {
|
|
fontSize: {
|
|
xs: ['.625rem', '1rem'],
|
|
sm: ['.75rem', '1rem'],
|
|
base: ['.875rem', '1rem'],
|
|
lg: ['1rem', '1.5rem'],
|
|
xl: ['1.25rem', '2rem'],
|
|
'2xl': ['1.5rem', '2rem'],
|
|
'3xl': ['2rem', '3rem'],
|
|
},
|
|
extend: {
|
|
minWidth: (theme) => theme('spacing'),
|
|
},
|
|
},
|
|
screens: {
|
|
...defaultTheme.screens,
|
|
xl: '1440px',
|
|
'2xl': '2200px',
|
|
},
|
|
variants: {
|
|
extend: {
|
|
opacity: ['hover-none'],
|
|
display: ['group-hover'],
|
|
},
|
|
},
|
|
plugins: [
|
|
require('@tailwindcss/line-clamp'),
|
|
require('@tailwindcss/aspect-ratio'),
|
|
require('tailwindcss-touch')(),
|
|
require('tailwindcss-theming')({
|
|
themes,
|
|
strategy: 'class',
|
|
}),
|
|
],
|
|
};
|