| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-10 | 1.7 kB | |
| v2.9.36 -- _match-elements 10-pass polish source code.tar.gz | 2026-05-10 | 457.5 MB | |
| v2.9.36 -- _match-elements 10-pass polish source code.zip | 2026-05-10 | 459.3 MB | |
| Totals: 3 Items | 916.7 MB | 0 | |
/match-elements 10-pass polish — a11y + perf + toasts + UX
Changed
- Toasts replace
alert(): 3 confirm/apply/skip flows now use the project toast store (success + error variants) instead of blocking browser dialogs. - Inline error UI unified: rose-toned
role="alert"with retry/dismiss buttons; replaces the previous mostly-invisibletext-rose-600span on slate background. - Detail panel a11y: Escape key (with no-match modal precedence),
role="tablist"/role="tab"/aria-selectedon the 3 tabs, error-state with retry button. - Modal a11y: NoMatchModal + TemplatesPanel get
role="dialog",aria-modal="true",aria-labelledby, Escape closes; close buttons getaria-label. - Perf — group aggregator: 11 separate
groups.filter()passes (8 trade buckets + 3 stepper status counters) collapsed into a singleuseMemo'd pass. Drops a tier-1 render from ~12ms to ~2ms for 1000-group sessions. - MatchAnalyticsCard a11y: i18n on collapse/expand
aria-label,aria-expanded, headerflex-wrapso window-selector + chevron don't fight for space on mobile. - Group list responsive:
max-hsplit to mobile-first (60vh) + desktop (calc(100vh-360px)) so the table doesn't collide with the keyboard on small viewports. - Removed stale "Phase A.12" reference from
match_elements.detail.element_ids_count.
Added
- 5 new integration tests pin
GET /api/v1/match_elements/analytics: empty window, days clamp, IDOR (non-admin → 404), tenant-wide rollup, unauthenticated. - 12 new i18n keys for the a11y + error-state additions.