# 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.