diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md
index d61bb40ad0..895a1a9f30 100644
--- a/.github/copilot-instructions.md
+++ b/.github/copilot-instructions.md
@@ -33,6 +33,8 @@ elements/ → All Polymer web components
nuxeo-results/ → Result list/grid display
addons/ → Optional addon bundles (Drive, LiveConnect, CSV, Spreadsheet, etc.)
i18n/ → Localization JSON files (16 languages), merged at build time
+themes/ → Themeable CSS (default, dark)
+test/ → Unit tests (Karma + Mocha + Chai + Sinon)
themes/ → Themeable CSS (default, dark, light, kawaii)
test/ → Unit tests (@web/test-runner + Mocha + Chai + Sinon)
ftest/ → Functional tests (Cucumber/Gherkin .feature files)
diff --git a/.github/instructions/themes.instructions.md b/.github/instructions/themes.instructions.md
index 801e667a88..9a7db8f27d 100644
--- a/.github/instructions/themes.instructions.md
+++ b/.github/instructions/themes.instructions.md
@@ -16,8 +16,6 @@ themes/
preview.jpg → Theme preview thumbnail
README.md → Theme description
dark/ → Dark theme (same structure)
- light/ → Light theme (same structure)
- kawaii/ → Kawaii theme (same structure, includes background.png)
```
## Theme File (`theme.html`)
@@ -66,14 +64,14 @@ This provides layout utilities, button styles, and common CSS rules used across
## Theme Loading (`loader.js`)
- Reads `localStorage.getItem('theme')` to determine active theme
-- Falls back to `default` if the stored theme is not found (404 check)
+- Falls back to `default` if the stored theme is deprecated or not found (404 check)
- Injects a `` for the selected `themes//theme.html`
- Users switch themes from their profile settings at runtime
## Rules
- Always use CSS custom properties (e.g., `var(--nuxeo-primary-color)`) — never hardcode colors
-- Test changes against all 4 themes (default, dark, light, kawaii)
+- Test changes against the supported built-in themes (default, dark)
- Keep the same custom property interface across themes — all themes must define the same set of variables
- New custom properties should be added to all theme files simultaneously
- `base.js` changes affect every component — modify with care
diff --git a/.github/workflows/a11y.yaml b/.github/workflows/a11y.yaml
index 3198abe6ed..879edafc9e 100644
--- a/.github/workflows/a11y.yaml
+++ b/.github/workflows/a11y.yaml
@@ -5,6 +5,7 @@ on:
branches:
- maintenance-3.1.x
- lts-2025
+ - WEBUI-1935-POC-REBRANDING
workflow_call:
inputs:
diff --git a/.github/workflows/clean.yaml b/.github/workflows/clean.yaml
index 0067a61c25..3fc4681e53 100644
--- a/.github/workflows/clean.yaml
+++ b/.github/workflows/clean.yaml
@@ -5,6 +5,7 @@ on:
types: [closed, unlabeled]
branches:
- maintenance-3.1.x
+ - WEBUI-1935-POC-REBRANDING
workflow_dispatch:
inputs:
diff --git a/.github/workflows/crowdin.yaml b/.github/workflows/crowdin.yaml
index 81e5ded5d3..0414048615 100644
--- a/.github/workflows/crowdin.yaml
+++ b/.github/workflows/crowdin.yaml
@@ -8,7 +8,7 @@ on:
# Sync when a commit is done on maintenance-3.1.x
push:
- branches: ["maintenance-3.1.x"]
+ branches: ["maintenance-3.1.x", "WEBUI-1935-POC-REBRANDING"]
paths:
- 'i18n/messages.json'
diff --git a/.github/workflows/ftest.yaml b/.github/workflows/ftest.yaml
index 023ceeb5b4..b5a715e606 100644
--- a/.github/workflows/ftest.yaml
+++ b/.github/workflows/ftest.yaml
@@ -5,6 +5,7 @@ on:
branches:
- maintenance-3.1.x
- lts-2025
+ - WEBUI-1935-POC-REBRANDING
workflow_call:
inputs:
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 77d30b57df..2cb5af0c06 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -4,6 +4,7 @@ on:
pull_request:
branches:
- maintenance-3.1.x
+ - WEBUI-1935-POC-REBRANDING
workflow_call:
inputs:
diff --git a/.github/workflows/preview.yaml b/.github/workflows/preview.yaml
index 3676c23619..fab7f24f11 100644
--- a/.github/workflows/preview.yaml
+++ b/.github/workflows/preview.yaml
@@ -5,6 +5,7 @@ on:
types: [opened, synchronize, reopened, labeled]
branches:
- maintenance-3.1.x
+ - WEBUI-1935-POC-REBRANDING
workflow_dispatch:
inputs:
diff --git a/.github/workflows/sonar.yaml b/.github/workflows/sonar.yaml
index bd3efee2f0..f7bd53cdee 100644
--- a/.github/workflows/sonar.yaml
+++ b/.github/workflows/sonar.yaml
@@ -5,10 +5,12 @@ on:
types: [opened, synchronize, reopened]
branches:
- maintenance-3.1.x
+ - WEBUI-1935-POC-REBRANDING
push:
branches:
- maintenance-3.1.x
+ - WEBUI-1935-POC-REBRANDING
workflow_dispatch:
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 58030b057a..5637de865c 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -4,6 +4,7 @@ on:
pull_request:
branches:
- maintenance-3.1.x
+ - WEBUI-1935-POC-REBRANDING
workflow_call:
inputs:
diff --git a/AGENTS.md b/AGENTS.md
index 5c8c7109ac..c82e869bef 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -37,6 +37,8 @@ elements/ → ALL Polymer web components live here
nuxeo-results/ → Result display
addons/ → Optional feature bundles (each has index.js entry)
i18n/ → Translation JSON files (16 languages)
+themes/ → Visual themes (default, dark)
+test/ → Unit tests (test/nuxeo-*.test.js)
themes/ → Visual themes (default, dark, light, kawaii)
test/ → Unit tests (@web/test-runner + Mocha; sources in test/*.test.js)
ftest/features/ → Functional test Gherkin scenarios
diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md
index ca3e709fac..642ee0dc2f 100644
--- a/ARCHITECTURE.md
+++ b/ARCHITECTURE.md
@@ -203,14 +203,12 @@ Addon loading is a two-step process. During the build, webpack injects `Nuxeo.UI
## Theming
-Four built-in themes in `themes/`:
+Two built-in themes in `themes/`:
| Theme | Directory |
|---|---|
| Default | `themes/default/theme.html` |
| Dark | `themes/dark/theme.html` |
-| Light | `themes/light/theme.html` |
-| Kawaii | `themes/kawaii/theme.html` |
Base styles are in `themes/base.js` and `themes/loader.js` handles dynamic theme switching.
diff --git a/PRODUCT.md b/PRODUCT.md
index c9faa821be..b4610a3d46 100644
--- a/PRODUCT.md
+++ b/PRODUCT.md
@@ -80,11 +80,9 @@ Optional addons extend Web UI with additional capabilities:
## Themes
-Four visual themes are bundled:
+Two visual themes are bundled:
- **Default** — Standard Nuxeo branding
- **Dark** — Dark mode interface
-- **Light** — Light/minimal interface
-- **Kawaii** — Fun/playful theme
Users can switch themes from their profile settings.
diff --git a/elements/document/nuxeo-collapsible-document-page.js b/elements/document/nuxeo-collapsible-document-page.js
index ff715cad49..3c6e98334b 100644
--- a/elements/document/nuxeo-collapsible-document-page.js
+++ b/elements/document/nuxeo-collapsible-document-page.js
@@ -40,6 +40,13 @@ Polymer({
-
-
+