diff --git a/src/page-components/scheme/q-2-scheme/Builder.tsx b/src/page-components/scheme/q-2-scheme/Builder.tsx index f434d97..c235a82 100644 --- a/src/page-components/scheme/q-2-scheme/Builder.tsx +++ b/src/page-components/scheme/q-2-scheme/Builder.tsx @@ -9,7 +9,7 @@ import { VSegmentedControl } from '../../../components/VSegmentedControl'; import { SchemeContent } from '../../../models'; import { Q2SchemeSource, Q2SchemeStorage } from '../../../q-2-scheme'; import { useUpdateScheme } from '../../../stores/schemes'; -import { isNilOrEmpty } from '../../../utls'; +import { isNilOrEmpty, mapToObject } from '../../../utls'; import { ColorEntry, IdenticalColorEntry } from '../ColorEntry'; import styles from './Builder.module.css'; @@ -220,7 +220,16 @@ export function Q2SchemeBuilder({ scheme, onBuildCompleted }: Q2SchemeBuilderPro console.log('[Generated scheme]', generatedScheme); updateScheme((prev) => { prev.schemeStorage.source = source; - prev.schemeStorage.scheme = generatedScheme[0]; + prev.schemeStorage.scheme = { + light: { + ...generatedScheme[0].light, + customColors: mapToObject(generatedScheme[0].light.customColors), + }, + dark: { + ...generatedScheme[0].dark, + customColors: mapToObject(generatedScheme[0].dark.customColors), + }, + }; prev.schemeStorage.cssVariables = generatedScheme[1]; prev.schemeStorage.cssAutoSchemeVariables = generatedScheme[2]; prev.schemeStorage.scssVariables = generatedScheme[3]; diff --git a/src/page-components/scheme/q-2-scheme/Preview.module.css b/src/page-components/scheme/q-2-scheme/Preview.module.css index 81f9785..a43e1d9 100644 --- a/src/page-components/scheme/q-2-scheme/Preview.module.css +++ b/src/page-components/scheme/q-2-scheme/Preview.module.css @@ -39,7 +39,11 @@ grid-template-columns: repeat(16, 1fr); gap: var(--spacing-xs); .preview_swatch_cell { - height: 1em; + padding: var(--spacing-xs) var(--spacing-s); + .swatch_label { + font-size: var(--font-size-s); + filter: invert(100%); + } } } .preview_cell { diff --git a/src/page-components/scheme/q-2-scheme/Preview.tsx b/src/page-components/scheme/q-2-scheme/Preview.tsx index c9141a8..7d15832 100644 --- a/src/page-components/scheme/q-2-scheme/Preview.tsx +++ b/src/page-components/scheme/q-2-scheme/Preview.tsx @@ -69,7 +69,14 @@ const PreviewSwatchLine: FC = ({ swatch }) => { for (const key of keys(swatch)) { const color = swatch[key]; collection.push( -
, +
+ + {key} + +
, ); } return collection; @@ -88,7 +95,7 @@ const PreviewSet: FC = ({ name, colorUnit }) => { <> - + ); }; @@ -100,16 +107,16 @@ interface PreviewBlockProps { const PreviewBlock: FC = ({ baseline, title }) => { const customSets = useMemo(() => { - const colors = keys(baseline.custom); + const colors = keys(baseline.customColors); const elements: ReactNode[] = []; for (const key of colors) { - const color = baseline.custom[key]; + const color = baseline.customColors[key]; elements.push(); } return elements; - }, [baseline.custom]); + }, [baseline.customColors]); return (
@@ -140,6 +147,7 @@ const PreviewBlock: FC = ({ baseline, title }) => { Outline Variant
+ {customSets}
); diff --git a/src/q-2-scheme.ts b/src/q-2-scheme.ts index b204d4f..28cc301 100644 --- a/src/q-2-scheme.ts +++ b/src/q-2-scheme.ts @@ -25,6 +25,7 @@ export type Q2Baseline = { neutralVariant: Q2ColorUnit; surface: Q2ColorUnit; surfaceVariant: Q2ColorUnit; + neutralSwatch: Record; danger: Q2ColorUnit; success: Q2ColorUnit; warn: Q2ColorUnit; @@ -33,7 +34,7 @@ export type Q2Baseline = { overlay: string; outline: string; outlineVariant: string; - custom: Record; + customColors: Record; }; export type Q2Scheme = {