尝试重新设计配色方案。

This commit is contained in:
徐涛 2025-01-13 13:55:48 +08:00
parent 612f1ba751
commit 0f343c606e
4 changed files with 123 additions and 0 deletions

46
src/color-q-scheme.ts Normal file
View File

@ -0,0 +1,46 @@
import { SchemeColor } from './models';
export type ColorSetVariant = {
chroma: number;
lightness: number;
};
export type Settings = {
hover: ColorSetVariant;
active: ColorSetVariant;
focus: ColorSetVariant;
disabled: ColorSetVariant;
foregroundRange: [SchemeColor, SchemeColor];
foregroundGeneration: 'fixed' | 'wacg_atuo';
};
export type SchemeSet = {
primary: SchemeColor;
onPrimary: SchemeColor;
secondary: SchemeColor;
onSecondary: SchemeColor;
accent: SchemeColor;
onAccent: SchemeColor;
neutral: SchemeColor;
onNeutral: SchemeColor;
danger: SchemeColor;
onDanger: SchemeColor;
warning: SchemeColor;
onWarning: SchemeColor;
success: SchemeColor;
onSuccess: SchemeColor;
info: SchemeColor;
onInfo: SchemeColor;
border: SchemeColor;
lightenBorder: SchemeColor;
elevation: SchemeColor;
background: SchemeColor;
onBackground: SchemeColor;
inverseBackground: SchemeColor;
onInverseBackground: SchemeColor;
};
export type ColorQScheme = {
scheme: SchemeSet;
setting: Settings;
};

16
src/material-2-scheme.ts Normal file
View File

@ -0,0 +1,16 @@
import { SchemeColor } from './models';
export type SchemeSet = {
primary: SchemeColor;
primaryVariant: SchemeColor;
onPrimary: SchemeColor;
secondary: SchemeColor;
secondaryVariant: SchemeColor;
onSecondary: SchemeColor;
background: SchemeColor;
onBackground: SchemeColor;
surface: SchemeColor;
onSurface: SchemeColor;
error: SchemeColor;
onError: SchemeColor;
};

49
src/material-3-scheme.ts Normal file
View File

@ -0,0 +1,49 @@
import { SchemeColor } from './models';
export type SchemeSet = {
primary: SchemeColor;
onPrimary: SchemeColor;
primaryContainer: SchemeColor;
onPrimaryContainer: SchemeColor;
primaryFixed: SchemeColor;
onPrimaryFixed: SchemeColor;
primaryFixedDim: SchemeColor;
onPrimaryFixedVaraint: SchemeColor;
secondary: SchemeColor;
onSecondary: SchemeColor;
secondaryContainer: SchemeColor;
onSecondaryContainer: SchemeColor;
secondaryFixed: SchemeColor;
onSecondaryFixed: SchemeColor;
secondaryFixedDim: SchemeColor;
onSecondaryFixedVaraint: SchemeColor;
tertiary: SchemeColor;
onTertiary: SchemeColor;
tertiaryContainer: SchemeColor;
onTertiaryContainer: SchemeColor;
tertiaryFixed: SchemeColor;
onTertiaryFixed: SchemeColor;
tertiaryFixedDim: SchemeColor;
onTertiaryFixedVaraint: SchemeColor;
error: SchemeColor;
onError: SchemeColor;
errorContainer: SchemeColor;
onErrorContainer: SchemeColor;
surface: SchemeColor;
surfaceDim: SchemeColor;
surfaceBright: SchemeColor;
onSurface: SchemeColor;
onSurfaceVariant: SchemeColor;
surfaceContainerLowest: SchemeColor;
surfaceContainerLow: SchemeColor;
surfaceContainer: SchemeColor;
surfaceContainerHigh: SchemeColor;
surfaceContainerHighest: SchemeColor;
inverseSurface: SchemeColor;
onInverseSurface: SchemeColor;
inversePrimary: SchemeColor;
outline: SchemeColor;
outlineVariant: SchemeColor;
scrim: SchemeColor;
shadow: SchemeColor;
};

View File

@ -20,3 +20,15 @@ export type ColorDescription = {
lab: [number, number, number];
oklch: [number, number, number];
};
export type SchemeType = 'color_q' | 'material_2' | 'material_3';
export type SchemeColor = string | null;
export type SchemeContent<Scheme> = {
id: string;
name: string;
createdAt: string;
description: string | null;
type: SchemeType;
lightScheme: Scheme;
darkScheme: Scheme;
};