bouwplan templates

This commit is contained in:
colinislit
2025-11-11 09:28:46 +01:00
parent 530b8f1bdb
commit dbde412465
13 changed files with 1374 additions and 300 deletions

194
docs/specs/ux-stylesheet.md Normal file
View File

@@ -0,0 +1,194 @@
# 🎨 Kleur Stylesheet MiniECD (v2, UXgeoptimaliseerd)
> Doel: consistente, toegankelijke kleuren met **lage cognitieve belasting**. Accentpalet teruggebracht tot **3 modules** (Afspraken, Medicatie/Herinneringen, Lab/Resultaten). Inclusief duidelijke states en contrastrichtlijnen.
---
## 🌐 Basiskleuren
* **Appachtergrond**: `#F8FAFC`
* **Oppervlak (kaarten/modals)**: `#FFFFFF`
* **Suboppervlak** (sekundair paneel/rightrail): `#F1F5F9`
* **Tekst primair**: `#0F172A`
* **Tekst secundair**: `#475569`
* **Borders/Dividers**: `#E2E8F0`
**WCAG tip:** tekst op witte of zachte pastelfondsen ≥ `#0F172A` / `#1E293B` voor AAcontrast.
---
## 🔹 Merk & Primaire UI
* **Primary / Brand**: `#3B82F6`
* Hover: `#2563EB`
* Active: `#1D4ED8`
* Subtle bg (chips, emptystates): `#EFF6FF`
* OnPrimary text/icon: `#FFFFFF`
* **Neutral CTA (secundair/terug)**: `#334155`
* Hover: `#1F2937`
* OnNeutral: `#FFFFFF`
---
## 📊 Moduleaccenten (gereduceerd)
Gebruik **max. drie** accentfamilies. Pastel voor kaarten + een verzadigd accent voor iconen/teksten.
1. **Afspraken**
* Card bg: `#E8F8EF`
* Accent (icon/label): `#16A34A`
* Border: `#CDECDC`
2. **Medicatie / Herinneringen**
* Card bg: `#FEF6DC`
* Accent: `#F59E0B`
* Border: `#F6E7B6`
3. **Lab / Resultaten**
* Card bg: `#FFEBDC`
* Accent: `#F97316`
* Border: `#FFD2B8`
> **Toegankelijkheid:** tekst op pastelkaarten in **donkergrijs `#0F172A`**. Accentkleur enkel voor iconen/badges/kleine headings.
---
## ⚠️ Status & Feedback
* **Success**: `#16A34A`
* **Warning**: `#EAB308`
* **Error**: `#DC2626`
* **Info**: `#3B82F6`
**Subtle backgrounds**
* Success subtle: `#ECFDF5`
* Warning subtle: `#FEFCE8`
* Error subtle: `#FEF2F2`
* Info subtle: `#EFF6FF`
**Toasts/alerts**
* Tekst: `#0F172A`
* Icon: statuskleur
* Border: statuskleur op 30% (bijv. mix met wit)
---
## 🏷️ Badges & Labels (Severity DSMlight)
* **Laag**: bg `#E5E7EB`, text `#374151`
* **Middel**: bg `#FEF3C7`, text `#92400E`
* **Hoog**: bg `#FEE2E2`, text `#991B1B`
---
## ✍️ Formulieren & Invoervelden
* **Input bg**: `#FFFFFF`
* **Input text**: `#0F172A`
* **Placeholder**: `#94A3B8`
* **Border default**: `#CBD5E1`
* **Border hover**: `#94A3B8`
* **Focus**: 2px ring `#3B82F6` + 1px inset border `#2563EB`
* **Disabled**: bg `#F1F5F9`, text `#94A3B8`, border `#E2E8F0`
* **Invalid**: border `#DC2626`, helptext `#B91C1C`
**Select/Dropdown**
* Menu bg: `#FFFFFF`
* Hover option: `#F1F5F9`
* Active/selected: left bar `#3B82F6`
---
## 🧩 Componentstates (Buttons/Links/Cards)
**Primary button**
* Default: bg `#3B82F6`, text `#FFFFFF`
* Hover: bg `#2563EB`
* Active: bg `#1D4ED8`
* Disabled: bg `#BFDBFE`, text `#FFFFFF` @ 70%
**Secondary button**
* Default: bg `#334155`, text `#FFFFFF`
* Hover: bg `#1F2937`
* Disabled: bg `#CBD5E1`, text `#FFFFFF` @ 60%
**Ghost button**
* Text: `#334155`; hover bg: `#F1F5F9`
**Links**
* Default: `#2563EB`
* Hover/Focus: underline + `#1D4ED8`
* Visited: `#4F46E5`
**Cards**
* Default: bg `#FFFFFF`, border `#E2E8F0`, shadow sm
* Hoverable variant: shadow md + translateY(1px)
---
## 🗺️ Navigatie
* **Sidebar item**
* Default text: `#334155`
* Active: text `#0F172A`, bg `#E2E8F0`, left accent bar `#3B82F6`
* Disabled: text `#94A3B8`
* **Topbar**
* Bg: `#FFFFFF`, borderbottom: `#E2E8F0`
---
## 🌫️ Elevation & Focus
* **Shadows**
* sm: `0 1px 2px rgba(15,23,42,0.06)`
* md: `0 2px 6px rgba(15,23,42,0.08)`
* lg: `0 8px 20px rgba(15,23,42,0.10)`
* **Focus ring (universeel)**: 2px `#3B82F6` buiten het element + 1px contrastborder.
---
## ♿ Toegankelijkheidsrichtlijnen
* Minimale contrastverhouding **AA**:
* Bodytekst op wit ≥ 4.5:1 (gebruik `#0F172A`/`#1E293B`)
* Tekst op gekleurde knoppen altijd **wit** (`#FFFFFF`) en check contrast.
* Gebruik niet alleen kleur: combineer status met **icoon**, **label** of **shape**.
* Focus is altijd zichtbaar (geen `outline: none`).
---
## 🔧 Semantische tokens (aliasing)
Gebruik semantische namen in code i.p.v. ruwe HEXwaarden:
* `--color-bg`, `--color-surface`, `--color-text`, `--color-border`
* `--color-brand`, `--color-brand-hover`, `--color-info`, `--color-success`, `--color-warning`, `--color-error`
* `--color-module-appointments`, `--color-module-meds`, `--color-module-labs`
---
## 📌 Notities
* Accentpalet bewust klein gehouden → minder visuele ruis, sneller scannen.
* Kaarten tonen **accent** alleen in icoon/badge of kleine titel; content blijft donker op licht voor leesbaarheid.
* Voor donker thema kunnen bovenstaande waarden gespiegeld worden met lichtere teksten en donkerder oppervlakken.