ktg-plugin-marketplace/shared/playground-design-system/CHANGELOG.md
Kjell Tore Guttormsen 76a64bde48 feat(playground-design-system): v0.4.0 — root-cause fix for kanban/expansion/matrix-bubble [skip-docs]
Bugfixes (B-DS-1, B-DS-2, B-DS-3 fra V1.14.0-AUDIT):
- .kanban-card__name (tier3-supplement): word-break: break-all → break-word
  + overflow-wrap: anywhere. Knekket midt i ord ("Tekn isk dokumen tasjon").
- .expansion__title-main, .expansion__title-sub (tier3-supplement): legg
  til display: block. Begge er <span> som flyter inline by default —
  resultat: "dokumentertKilde: Art. 9" på samme linje.
- .matrix__bubble (components.css): legg til cursor: pointer, hover-scale
  og focus-visible. Antas rendret som <button> i konsumenter — gir
  visuell + keyboard-fokus-feedback.

Re-syncet til plugins/ms-ai-architect/playground/vendor/ via
sync-design-system.mjs. Slettet 3 lokal-overrides i playground HTML
(matrix-bubble, expansion-title, kanban-card-name). Style-blokk:
191 → 182 linjer.

Smoke-tester: validate-plugin 219 PASS, e2e --playground 272 PASS,
statisk struktur 202 PASS.

Andre plugins (llm-security, voyage, okr, config-audit) påvirkes IKKE
— beholder gammel vendored DS inntil de selv re-syncer.

Sesjon 2 av 6 i v1.14.0 root-cause-multi-sesjons-løp.
ms-ai-architect plugin-versjon ikke bumpet (sesjon 6 ship-er v1.14.0).
[skip-docs]: docs oppdateres i sesjon 6 ved v1.14.0 plugin-ship.

Refs V1.14.0-AUDIT.local.md sub-batch 1 + 4.
2026-05-08 20:03:20 +02:00

6.8 KiB

playground-design-system — CHANGELOG

0.4.0 — 2026-05-08

Bug fixes

  • .kanban-card__name (components-tier3-supplement.css): bytt word-break: break-all til word-break: break-word + overflow-wrap: anywhere. break-all knekker midt i ord ("Tekn isk dokumen tasjon"); ny verdi respekterer ordskjøt og brytter kun lange tokens (B-DS-1).
  • .expansion__title-main, .expansion__title-sub (components-tier3-supplement.css): legg til display: block. Begge er <span>-elementer som flyter inline by default, noe som gir "dokumentertKilde: Art. 9" på samme linje. display: block sikrer vertikal stacking (B-DS-2).
  • .matrix__bubble (components.css): legg til cursor: pointer, transition, :hover { transform: scale(1.15) } og :focus-visible { outline + offset }. Antar at consumer rendrer bobler som <button> for click-handlers — gir visuell + keyboard-fokus-feedback (B-DS-3).

Påvirkning

Bugfixene er backward-compatible — alle eksisterende selectors og verdier som er endret, var bugfixes. Plugin-konsumenter som har lokal-overrides for disse mønstrene bør re-syncer og slette overridene:

  • ms-ai-architect: re-sync i samme commit, sletter linje 191-193 (matrix-bubble), 208-211 (expansion-title), 213-216 (kanban-card-name) i playground/ms-ai-architect-playground.html.
  • llm-security, voyage, okr, config-audit: re-sync på eget tempo (ikke breaking — gammel vendored DS fungerer fortsatt med eksisterende lokal-overrides).

For å adoptere v0.4

node scripts/sync-design-system.mjs <plugin-name>
# --force hvis drift detected

Førsteadopter: ms-ai-architect v1.14.0 (planlagt 2026-05-08, multi-sesjons-løp som starter med DS-bump i sesjon 2).

0.3.0 — 2026-05-04

Added — Playground/report-page foundation primitives (sections 13-25 in tier3-supplement)

Generiske mønstre som tidligere ble definert inline i plugin-playgrounds (først i ms-ai-architect v1.10) er hoisted hit slik at alle 5 plugin-konsumenter (ms-ai-architect, okr, llm-security, ultraplan-local, config-audit) kan dele samme vokabular og visuelle profil.

  • .eyebrow utility — uppercase 11px monospace label med 0.08em letter-spacing. Bruk over seksjons-titler.
  • .page__* page-shell (.page__header, .page__header-main, .page__header-aside, .page__eyebrow, .page__title, .page__lede, .page__meta) — standard rapport-side-header med eyebrow → h1 → lede → meta + verdict-slot side-by-side. Responsiv: kollapser til én kolonne under 720px.
  • .key-stats / .key-stat — 2-5-kolonne responsivt grid av store tall-metrikker. font-variant-numeric: tabular-nums, font-size-2xl bold. Severity-modifiers (.key-stat--critical/high/medium/low/positive/info) tinter value-fargen.
  • .verdict-pill-lg 5-band utvidelse — eksisterende .verdict-pill-lg aksepterer nå alle 5 severity-bånd: critical/extreme/high/medium/low/positive + neutral n-a/info/neutral. Bakoverkompatibel med eksisterende block/warning/allow.
  • .tab-list / .tab / .tab-panel — generisk faneflate-komponent. ARIA-paritet: role="tablist", role="tab", aria-current="true". .tab__count for badge-tall, .tab-panel[hidden] for skjuling.
  • .top-risks / .top-risk[data-severity] — severity-ordnet liste over topp-risikoer med rank/desc/score-kolonner. Severity-attribut driver venstre-border + score-pill-bakgrunn.
  • .recommendation-card[data-severity] — emphasized advisory-callout med label + body. 6 severity-modifiers.
  • .card__* subkomponenter — komponerbare tillegg til eksisterende .card (base.css): .card__head, .card__title, .card__desc, .card__id, .card__meta, .card__hint, .card__actions, .card__pill. Pluss .card--severity-{level} for 4px venstre-border-modifier.
  • Form patterns.field-row (vertikal flex), .field-label (medium weight), .field-help (xs tertiary), .required-mark (severity-critical asterisk), .multi-select (fieldset reset), .checkbox-row (inline-flex med hover). Mirrors Aksel/Digdir form-konvensjoner.
  • Section-spacing utilities.stack-lg (margin-block: var(--space-8)), .stack-md (var(--space-5)), .stack-sm (var(--space-3)). Anvendes på parent for å gi konsistent vertikal rytme mellom barn-elementer.
  • .pyramide-tier-detail — utvidbar <details>-blokk under .pyramide-visualisering. Custom chevron, ingen native marker. Brukes av AI Act-klassifiserings-renderer.
  • .scenario-card-grid / .scenario-card[data-status="winner"] — auto-fit grid (minmax 240px) av scenario/alternativ-cards. Vinnerstatus får success-tinted bakgrunn + grønn count-pill.
  • .app-shell / .app-shell--wide / .app-shell--narrow — sentralisert max-width page-wrapper. 1200/1400/880px varianter.

Notes for vendor consumers

Versjon 0.3.0 er rent additiv — ingen eksisterende selector er endret eller fjernet. Alle eksisterende klasser (.btn, .card, .expansion, .kanban-*, .mat-ladder, .read-more, .suppressed, .pair-before-after, .verdict-pill-lg osv.) fungerer uendret.

For å adoptere v0.3:

  1. Re-sync via node scripts/sync-design-system.mjs <plugin-name> (kreves --force hvis eksisterende drift)
  2. Oppdater plugin HTML til å bruke nye klasser i stedet for inline CSS
  3. Andre plugins kan vente med adopsjon — eksisterende DS-bruk fortsetter å fungere

Førsteadopter: ms-ai-architect v1.11.0 (planlagt 2026-05-04).

0.2.0 — 2026-05-04

Added

  • [data-theme="light"]-blokk i tokens.css (Aksel-aligned, WCAG AA-validert). Full mirror av dark-blokken (26 vars) — alle theme-overridable tokens som finnes i dark-blokken finnes nå også i light-blokken, slik at renderers ikke faller gjennom til udefinerte verdier ved theme-switch.
  • color-scheme CSS-property satt eksplisitt på :root, [data-theme="light"] og [data-theme="dark"] for korrekt native form-controls/scrollbar-styling.

Notes for vendor consumers

Andre plugins som vendrer design-systemet (okr, llm-security, ultraplan-local, config-audit) får tilgang til light-tokens etter neste re-sync. Adopsjon er valgfri — eksisterende dark-only oppførsel er bakoverkompatibel siden ingen eksisterende verdi er endret.

For å adoptere light-mode i en konsument:

  1. Re-sync via node scripts/sync-design-system.mjs <plugin-name>
  2. Legg til en synkron <script>-IIFE i <head> før CSS-load som leser localStorage og setter data-theme + colorSchemedocumentElement.
  3. Eksponere theme-toggle i UI som setter documentElement.dataset.theme + persisterer i localStorage.

0.1.0 — 2026-04 (initial)

  • Tier 1+2+3 design-system med Aksel/Digdir-aligned tokens, base, components.
  • Dark mode default + [data-theme="dark"]-overrides.
  • Self-hosted Inter, JetBrains Mono, Source Serif 4 fonts.
  • Schemas for renderers + commands.