sori-client/uno.config.ts

253 lines
5.9 KiB
TypeScript

import fs from 'node:fs/promises';
import {
defineConfig,
presetIcons,
presetTypography,
presetWebFonts,
presetWind3,
transformerDirectives,
} from 'unocss';
import { presetAnimations } from 'unocss-preset-animations';
export default defineConfig({
presets: [
presetWind3({
dark: 'class',
}),
presetAnimations(),
presetIcons({
collections: {
custom: {
area: () => fs.readFile('./src/assets/editor/area.svg', 'utf-8'),
draw: () => fs.readFile('./src/assets/editor/draw.svg', 'utf-8'),
edit: () => fs.readFile('./src/assets/editor/edit.svg', 'utf-8'),
generate: () =>
fs.readFile('./src/assets/editor/generate.svg', 'utf-8'),
preview: () =>
fs.readFile('./src/assets/editor/preview.svg', 'utf-8'),
rectangle: () =>
fs.readFile('./src/assets/editor/rectangle.svg', 'utf-8'),
select: () => fs.readFile('./src/assets/editor/select.svg', 'utf-8'),
'sign-library': () =>
fs.readFile('./src/assets/editor/sign-library.svg', 'utf-8'),
'street-view': () =>
fs.readFile('./src/assets/editor/street-view.svg', 'utf-8'),
},
},
}),
presetTypography(),
presetWebFonts({
provider: 'google',
fonts: {
sans: 'Roboto',
},
}),
],
transformers: [transformerDirectives()],
extendTheme: (theme) => {
return {
...theme,
colors: {
...theme.colors,
neutral: {
1: '#ffffff',
2: '#fafafa',
3: '#f5f5f5',
4: '#f0f0f0',
5: '#d9d9d9',
6: '#bfbfbf',
7: '#8c8c8c',
8: '#595959',
9: '#434343',
10: '#262626',
11: '#1f1f1f',
12: '#141414',
13: '#000000',
},
red: {
1: '#fff1f0',
2: '#ffccc7',
3: '#ffa39e',
4: '#ff7875',
5: '#ff4d4f',
6: '#f5222d',
7: '#cf1322',
8: '#a8071a',
9: '#820014',
10: '#5c0011',
},
volcano: {
1: '#fff2e8',
2: '#ffd8bf',
3: '#ffbb96',
4: '#ff9c6e',
5: '#ff7a45',
6: '#fa541c',
7: '#d4380d',
8: '#ad2102',
9: '#871400',
10: '#610b00',
},
orange: {
1: '#fff7e6',
2: '#ffe7ba',
3: '#ffd591',
4: '#ffc069',
5: '#ffa940',
6: '#fa8c16',
7: '#d46b08',
8: '#ad4e00',
9: '#873800',
10: '#612500',
},
gold: {
1: '#fffbe6',
2: '#fff1b8',
3: '#ffe58f',
4: '#ffd666',
5: '#ffc53d',
6: '#faad14',
7: '#d48806',
8: '#ad6800',
9: '#874d00',
10: '#613400',
},
yellow: {
1: '#feffe6',
2: '#ffffb8',
3: '#fffb8f',
4: '#fff566',
5: '#ffec3d',
6: '#fadb14',
7: '#d4b106',
8: '#ad8b00',
9: '#876800',
10: '#614700',
},
lime: {
1: '#fcffe6',
2: '#f4ffb8',
3: '#eaff8f',
4: '#d3f261',
5: '#bae637',
6: '#a0d911',
7: '#7cb305',
8: '#5b8c00',
9: '#3f6600',
10: '#254000',
},
green: {
1: '#f6ffed',
2: '#d9f7be',
3: '#b7eb8f',
4: '#95de64',
5: '#73d13d',
6: '#52c41a',
7: '#389e0d',
8: '#237804',
9: '#135200',
10: '#092b00',
},
cyan: {
1: '#e6fffb',
2: '#b5f5ec',
3: '#87e8de',
4: '#5cdbd3',
5: '#36cfc9',
6: '#13c2c2',
7: '#08979c',
8: '#006d75',
9: '#00474f',
10: '#002329',
},
blue: {
1: '#e6f4ff',
2: '#bae0ff',
3: '#91caff',
4: '#69b1ff',
5: '#4096ff',
6: '#1677ff',
7: '#0958d9',
8: '#003eb3',
9: '#002c8c',
10: '#001d66',
},
geekblue: {
1: '#f0f5ff',
2: '#d6e4ff',
3: '#adc6ff',
4: '#85a5ff',
5: '#597ef7',
6: '#2f54eb',
7: '#1d39c4',
8: '#10239e',
9: '#061178',
10: '#030852',
},
purple: {
1: '#f9f0ff',
2: '#efdbff',
3: '#d3adf7',
4: '#b37feb',
5: '#9254de',
6: '#722ed1',
7: '#531dab',
8: '#391085',
9: '#22075e',
10: '#120338',
},
magenta: {
1: '#fff0f6',
2: '#ffd6e7',
3: '#ffadd2',
4: '#ff85c0',
5: '#f759ab',
6: '#eb2f96',
7: '#c41d7f',
8: '#9e1068',
9: '#780650',
10: '#520339',
},
workStatus: {
accepted: '#10b981',
pending: '#FFA500',
working: '#3b82f6',
finished: '#8b5cf6',
cancel: '#ef4444',
others: '#D3D3D3',
},
},
icons: {
car: 'i-ant-design-car',
},
keyframes: {
'accordion-down': {
from: {
height: '0',
},
to: {
height: 'var(--radix-accordion-content-height)',
},
},
'accordion-up': {
from: {
height: 'var(--radix-accordion-content-height)',
},
to: {
height: '0',
},
},
},
animation: {
...theme.animation,
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
},
spacing: {
...theme.spacing,
inset: '1rem',
},
};
},
});