The portal now adheres to the CIBG design system (designsystem.cibg.nl) — a customized Bootstrap 5.2 build — replacing the Rijkshuisstijl-Community / Utrecht theme. See ADR-0003. - Vendor @cibg/huisstijl@3.22.0 under public/cibg-huisstijl/, loaded via a <link> in index.html (Storybook serves it via staticDirs). Drop the two @rijkshuisstijl-community deps. - Token bridge in styles.scss: redefine the app's ~54 --rhc-* tokens onto CIBG/--bs-* values, so components keep referencing tokens (no 300+ site rewrite). System-font stack; licensed RO/Rijks text fonts intentionally not shipped. - Re-skin every shared atom to Bootstrap/CIBG classes (btn, form-control, form-check-*, table, breadcrumb, …) keeping their input() APIs. alert is hand-rolled (CIBG drops .alert); local .card/.badge renamed to avoid Bootstrap collisions. - Domain pages: drop stray rhc-*/utrecht-* classes; registration-table → table table-striped. Verified: build green, check:tokens OK, lint clean, 174 tests pass, build-storybook OK, and the served build loads the vendored CSS (200, .btn-primary present). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
77 lines
3.9 KiB
Markdown
77 lines
3.9 KiB
Markdown
# Migratie naar CIBG Huisstijl 2.0.0
|
|
In dit document staat beschreven welke stappen er moeten worden doorlopen om een prototype
|
|
bij te werken naar versie 2.0.0 van de CIBG Huisstijl. Deze versie is gebaseerd op Bootstrap 5.2, waardoor er een
|
|
aantal class en data-attribute migraties moeten worden doorgevoerd.
|
|
|
|
Je kunt deze migratiegids ook gebruiken voor het bijwerken van de applicaties. In appplicaties is Bootstrap alleen geen
|
|
dependency, dus deze hoef je dan ook niet bij te werken.
|
|
|
|
## Voorbereiding
|
|
* Update naar CIBG Huisstijl 2.0.1 package (`npm install -s @cibg/huisstijl@2.0.1`)
|
|
* Update de boostrap dependency naar versie 5.2.0. Dit is nodig omdat we de bootstrap.bundle.min.js van Bootstrap
|
|
gebruiken (alleen voor prototypes).
|
|
|
|
## Hernoemingen
|
|
Er zijn een aantal classes en data-attributes gewijzigd. Doorloop de onderstaand wijzigingen. Hierin de dingen die we
|
|
vaak gebruiken in prototypes.
|
|
|
|
Let op dat je alles in de folder 'pages' en 'includes' vervangt, maar vooral niet
|
|
de eventueel gearchiveerde sprints omdat deze nog gebruik maken van Bootstrap 4.X.
|
|
|
|
De hernoemingen die hieronder staan zijn veel in prototypes gebruikte classes. Het kan echter zijn dat je zelf nog
|
|
andere classes
|
|
gebruikt die gewijzigd zijn. Werkt iets niet naar verwachting? Check dan de Bootstap 5 migration guide
|
|
op https://getbootstrap.com/docs/5.2/migration/
|
|
om te kijken of je classes gebruikt die gewijzigd zijn.
|
|
|
|
### Classes
|
|
De volgende classes worden veel gebruikt in de prototypes en moeten worden hernoemd. Let op dat je eerst de skiplink class
|
|
vervangt en daarna de screenreader-only classes.
|
|
|
|
| Was | Wordt |
|
|
|-----------------------------|-----------------------------|
|
|
| `sr-only sr-only-focusable` | `visually-hidden-focusable` |
|
|
| `sr-only` | `visually-hidden` |
|
|
| `ml-*` | `ms-*` |
|
|
| `mr-*` | `me-*` |
|
|
| `pl-*` | `ps-*` |
|
|
| `pr-*` | `pe-*` |
|
|
| `text-left` | `text-start` |
|
|
| `text-right` | `text-end` |
|
|
| `font-weight-*` | `fw-*` |
|
|
| `badge badge-primary` | `badge bg-primary` |
|
|
| `dropdown-menu-right` | `dropdown-menu-end` |
|
|
| `dropdown-menu-left` | `dropdown-menu-start` |
|
|
|
|
### Classes van dropdown select lists
|
|
Styling van dropdowns is verplaats onder een andere class-name, waardoor de classes veranderd moeten worden. Wijzig de
|
|
class van `select` elementen met de class `form-control` naar `form-control form-select`. Dit kun je niet met een
|
|
(eenvoudige) replace-all doen, omdat andere controls ook de `form-control` gebruiken.
|
|
|
|
|
|
**Let op**: Dit is niet van toepassing bij de paginering select, die gebruikt andere classes die niet gewijzigd
|
|
zijn.
|
|
|
|
|
|
|
|
### Data attributes (alleen voor prototypes)
|
|
Bootstrap data-toggles zijn voortaan genamespaced. Alle `data-*="*"` moeten worden gewijzigd in `data-bs-*="*"`.
|
|
|
|
| Was | Wordt |
|
|
|--------------------------|-----------------------------|
|
|
| `data-toggle="tab"` | `data-bs-toggle="tab"` |
|
|
| `data-toggle="tooltip"` | `data-bs-toggle="tooltip"` |
|
|
| `data-toggle="dropdown"` | `data-bs-toggle="dropdown"` |
|
|
| `data-toggle="collapse"` | `data-bs-toggle="collapse"` |
|
|
| `data-toggle="modal"` | `data-bs-toggle="modal"` |
|
|
| `data-dismiss="modal"` | `data-bs-dismiss="modal"` |
|
|
| `data-target=""` | `data-bs-target=""` |
|
|
| `data-original-title=""` | `data-bs-title=""` |
|
|
|
|
|
|
### Javascript
|
|
Controleer of er javascript in je project zit dat dymamisch HTML injecteert en of daarin de bovenstaande hernoemingen
|
|
voorkomen. In een standaard project is dit meestal alleen een `sr-only` class voor menu-items in de header.
|
|
|
|
|