* fix(apps): align DSFR template across builder, builder-ia, sources, pipeline-helper, builder-carto
- Add missing <app-footer> to builder, builder-ia, sources, pipeline-helper
- Add missing dsfr.module.min.js to sources and pipeline-helper (required for
app-header mobile menu and DSFR modals to work)
- Add missing view-transition preload style to pipeline-helper and builder-carto
(prevents CLS while app-header/app-footer custom elements are still undefined)
All apps now share the same DSFR shell: <app-header>, optional layout,
<app-footer>, DSFR JS module — except grist-widgets which is embedded in Grist
by design.
* fix(dsfr): enable OS light/dark support via data-fr-scheme="system"
The attribute `data-fr-theme` without a value (as set on <html> in every page)
does not trigger DSFR's theme switch — DSFR 1.14 reads `data-fr-scheme` on the
root element to compute `data-fr-theme` ("dark" or "light") based on OS
`prefers-color-scheme`. As a result, users on an OS in dark mode were still
seeing the light UI.
Replace the empty `data-fr-theme` attribute by `data-fr-scheme="system"` on
every HTML page of the repo (apps, index hub, guide, specs, exemples,
grist-widgets, e2e fixture). DSFR JS now follows OS preference automatically.
Prerequisite: dsfr.module.min.js must be loaded — already ensured on every
app by the previous template-alignment commit.
* chore: release v0.7.1
Bumps `dsfr-data` 0.7.0 → 0.7.1 (patch) with CHANGELOG entry covering:
- DSFR template alignment across all webapp pages (missing <app-footer>,
dsfr.module.min.js and view-transition style in 5 apps).
- OS light/dark support via `data-fr-scheme="system"` replacing the inert
empty `data-fr-theme` attribute.
Synchronized versions:
- packages/core/package.json
- src-tauri/tauri.conf.json
- src-tauri/Cargo.toml (app package)
---------
Co-authored-by: Claude <noreply@anthropic.com>