You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Examples: showcase app plus one issue per sample-page group (§23)
Docs, E2E/visual tests and the Figma kit
Each component must meet the definition of done in §21: light/dark, LTR/RTL, dv locale, thaana prop where relevant, tokens-only theming, overrides, WCAG 2.2 AA with axe tests, unit tests, showcase page, docs page, and a changeset. Components with a §25 behaviour spec must match it, with a test for each listed behaviour.
Order of work: foundations → core primitives (buttons, inputs, overlays, layout) → remaining component groups → sample pages → docs → Figma.
CSV: UTF-8 with BOM, guarded against formula injection.
Excel: uses write-excel-file, an optional peer. Cells keep their types, and right-to-left sheets are supported.
PDF: a print-ready document, so Thaana renders correctly.
The listing sample pages now export real data.
SearchResults: new onShowMore(groupId, group). Results load on the same page, focus moves to the first new result, and the change is announced.
DropzoneUploader: controlled value, defaultValue and onValueChange. Saved files can be listed and removed.
QR codes: new QrCode in @javaabu/onu/media.
Encoding uses uqr, and the SVG is drawn with theme colours.
Optional centre logo, with error correction forced to level H.
PNG/SVG download (colours converted to sRGB) and a copy button.
Used on the certificate sample page.
Editor tables: tables now take their direction from their content, as lists and quotes already did.
Charts: a new ChartAnimationProvider, and every chart honours prefers-reduced-motion.
Stable chart screenshots: chart pages now grow the viewport before capturing instead of using fullPage, because the full-page resize caught charts mid-render. After that change, 2 × 96 repeated chart captures passed under load.
Bundle size: a Button import is now 11.9 kB instead of 20.7 kB, and FormField + TextInput is 28.2 kB instead of 37.2 kB. Fixed glyphs are passed as Icon fallbacks, the shadcn sync script generates them, and an ESLint rule plus a test guard against regressions.
FormField: it now shrinks inside grid and flex columns (min-w-0).
Changesets: added the one that was missing for the form, listing and layout fixes.
Behaviour change: outside OnuProvider, icon names chosen at runtime (e.g. <Button startIcon="add">) show a generic icon. The root Icon and fixed glyphs still work without the provider.
Still open (needs input or access)
Testing the Google Maps adapter with a real API key.
Creating the Figma kit file, which needs a workspace and token.
The MV Waheed licence.
BML/eFaas brand assets.
Back/Forward guarding only works in browsers with the Navigation API.
Activity
7 remaining items
n4ff4h commentedon Oct 7, 2026
Status update. Everything is on
claude/amazing-cerf-htnpm8(headcc0b6dd).Done
HeroandFeatureGridChecks on the head commit
Open follow-ups (not implemented yet)
valueguard()figmaUrlis still emptyIconGenerated by Claude Code
n4ff4h commentedon Oct 8, 2026
Follow-up round, now on
main.Done
@javaabu/onu/export):exportRows/useExportRows.write-excel-file, an optional peer. Cells keep their types, and right-to-left sheets are supported.onShowMore(groupId, group). Results load on the same page, focus moves to the first new result, and the change is announced.value,defaultValueandonValueChange. Saved files can be listed and removed.QrCodein@javaabu/onu/media.uqr, and the SVG is drawn with theme colours.ChartAnimationProvider, and every chart honoursprefers-reduced-motion.fullPage, because the full-page resize caught charts mid-render. After that change, 2 × 96 repeated chart captures passed under load.Buttonimport is now 11.9 kB instead of 20.7 kB, and FormField + TextInput is 28.2 kB instead of 37.2 kB. Fixed glyphs are passed asIconfallbacks, the shadcn sync script generates them, and an ESLint rule plus a test guard against regressions.min-w-0).Behaviour change: outside
OnuProvider, icon names chosen at runtime (e.g.<Button startIcon="add">) show a generic icon. The rootIconand fixed glyphs still work without the provider.Still open (needs input or access)
Generated by Claude Code