mirror of
https://github.com/tloncorp/landscape.git
synced 2024-12-18 14:21:53 +03:00
d953ffe501
AppSearch is just for apps. Real Leap to come later. Make sure we respect calm settings for notifications. Create WayfindingAppLink component. Use hard coded list of apps for Get Apps.
230 lines
4.5 KiB
JavaScript
230 lines
4.5 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',
|
|
},
|
|
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',
|
|
}),
|
|
],
|
|
};
|