From 05ffba14fdfe88b6b9747cc0fd731e0ce60c757d Mon Sep 17 00:00:00 2001
From: Sienna Meridian Satterwhite
Date: Fri, 6 Mar 2026 11:54:37 +0000
Subject: [PATCH] feat(frontend): update Cunningham theme tokens and font
imports
---
src/frontend/apps/impress/cunningham.ts | 63 +++++++++++++++----
src/frontend/apps/impress/package.json | 1 +
.../apps/impress/src/pages/_document.tsx | 2 +-
.../apps/impress/src/pages/globals.css | 1 +
4 files changed, 55 insertions(+), 12 deletions(-)
diff --git a/src/frontend/apps/impress/cunningham.ts b/src/frontend/apps/impress/cunningham.ts
index b548f250..e593ac83 100644
--- a/src/frontend/apps/impress/cunningham.ts
+++ b/src/frontend/apps/impress/cunningham.ts
@@ -4,21 +4,21 @@ import {
whiteLabelGlobals,
} from '@gouvfr-lasuite/ui-kit';
+const spacing = {
+ '0': '0rem',
+ none: '0rem',
+ auto: 'auto',
+ bx: '2.2rem',
+ full: '100%',
+ '3xs': '0.25rem',
+ '2xs': '0.375rem',
+};
+
const themeWhiteLabelLight = getUIKitThemesFromGlobals(whiteLabelGlobals, {
prefix: 'default',
variants: ['light'],
overrides: {
- globals: {
- spacing: {
- '0': '0rem',
- none: '0rem',
- auto: 'auto',
- bx: '2.2rem',
- full: '100%',
- '3xs': '0.25rem',
- '2xs': '0.375rem',
- },
- },
+ globals: { spacing },
},
});
@@ -45,10 +45,51 @@ const themesDSFR = {
dsfr: themesDSFRLight['dsfr-light'],
};
+// O Estúdio — warm amber/gold on dark.
+const themeEstudioDark = getUIKitThemesFromGlobals(whiteLabelGlobals, {
+ prefix: 'estudio',
+ variants: ['dark'],
+ overrides: {
+ globals: {
+ spacing,
+ colors: {
+ // Amber/gold brand palette — replaces the default purple/blue.
+ 'brand-050': '#fffbeb',
+ 'brand-100': '#fef3c7',
+ 'brand-200': '#fde68a',
+ 'brand-300': '#fcd34d',
+ 'brand-400': '#fbbf24',
+ 'brand-500': '#f59e0b',
+ 'brand-600': '#d97706',
+ 'brand-700': '#b45309',
+ 'brand-800': '#92400e',
+ 'brand-900': '#78350f',
+ 'brand-950': '#451a03',
+ // Logo gradient colours used by ui-kit header components.
+ 'logo-1-light': '#f59e0b',
+ 'logo-2-light': '#d97706',
+ 'logo-1-dark': '#fcd34d',
+ 'logo-2-dark': '#fbbf24',
+ },
+ font: {
+ families: {
+ base: 'Ysabeau Variable, Inter, Roboto Flex Variable, sans-serif',
+ accent: 'Ysabeau Variable, Inter, Roboto Flex Variable, sans-serif',
+ },
+ },
+ },
+ },
+});
+
+const themeEstudio = {
+ estudio: themeEstudioDark['estudio-dark'],
+};
+
const docsTokens = {
themes: {
...themeDefault,
...themesDSFR,
+ ...themeEstudio,
},
};
diff --git a/src/frontend/apps/impress/package.json b/src/frontend/apps/impress/package.json
index 4b321f13..1a44f304 100644
--- a/src/frontend/apps/impress/package.json
+++ b/src/frontend/apps/impress/package.json
@@ -34,6 +34,7 @@
"@emoji-mart/data": "1.2.1",
"@emoji-mart/react": "1.1.1",
"@fontsource-variable/inter": "5.2.8",
+ "@fontsource-variable/ysabeau": "^5.0.0",
"@fontsource-variable/material-symbols-outlined": "5.2.35",
"@fontsource/material-icons": "5.2.7",
"@gouvfr-lasuite/cunningham-react": "4.2.0",
diff --git a/src/frontend/apps/impress/src/pages/_document.tsx b/src/frontend/apps/impress/src/pages/_document.tsx
index 27a0f30e..94c283e0 100644
--- a/src/frontend/apps/impress/src/pages/_document.tsx
+++ b/src/frontend/apps/impress/src/pages/_document.tsx
@@ -20,7 +20,7 @@ class MyDocument extends Document<{ locale: string }> {
render() {
return (
-
+
diff --git a/src/frontend/apps/impress/src/pages/globals.css b/src/frontend/apps/impress/src/pages/globals.css
index 54ff40a2..5580632c 100644
--- a/src/frontend/apps/impress/src/pages/globals.css
+++ b/src/frontend/apps/impress/src/pages/globals.css
@@ -1,3 +1,4 @@
+@import '@fontsource-variable/ysabeau';
@import url('../cunningham/cunningham-style.css');
@import url('@fontsource/material-icons');
@import url('@fontsource/material-icons-outlined');