initial try porting v0 into echart#245
Merged
Merged
Conversation
Deploying ui with
|
| Latest commit: |
6eff737
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f61d9e20.ui-6d0.pages.dev |
| Branch Preview URL: | https://port-v0-case-mgmt.ui-6d0.pages.dev |
Contributor
- Replace hand-rolled Primary badge spans with <Badge variant="default"> - Replace raw type tag spans with <Badge variant="secondary"> - Fix text-muted-foreground on bg-muted contrast (4.05 → passes 4.5:1) by switching to text-foreground on the filter bar count text
…toggle - Replace raw <textarea> with <Textarea> component for consistency - Fix section +/− toggle contrast: text-muted-foreground on bg-muted/40 fails WCAG AA → switched to text-foreground
- Switch to variant="pills" and remove custom active-state overrides - Let the Tabs component handle active styling (bg-background/text-foreground) - Fixes WCAG AA contrast failure (was 1.41:1 with green-on-green)
…trast - Replace hand-rolled warning div (border-warning-300/bg-warning-50/text-warning-800) with <Alert variant="warning"> - Remove bg-muted from STD coverage table wrapper to fix 5 TableHead contrast violations (text-muted-foreground on bg-muted = 4.04:1)
…ix contrast - Replace hard-coded text-green-600 on save buttons with text-primary - Fix filter bar 'Showing X of Y' contrast: text-muted-foreground on bg-muted → text-foreground
- text-muted-foreground on bg-muted → text-foreground for 'Showing X of Y'
- Replace hand-rolled warning div (border-warning-300/bg-warning-50/text-warning-800) with <Alert variant="warning"> + AlertTitle + AlertDescription
…on a11y
- Replace text-white with text-primary-foreground on header and controls
- Replace hover:bg-white/20 with hover:bg-primary-foreground/20
- Add tabIndex={0} to scrollable content div for keyboard accessibility
- Scrollable regions must be focusable for keyboard users (axe: scrollable-region-focusable)
- Pressed state text color now follows the design token system so brand themes control the contrast pairing
- CaseLettersTab: fix catastrophic backtracking regex /<[a-z][\s\S]*>/i → /<[a-z][^>]*>/i (negated char class prevents backtracking) - CaseNotesTab: clarify tag-strip is preview-only, document that consumers must sanitize HTML before passing notes prop - processDictation: fix ReDoS in convertAngleBracketsToMustache by replacing \s*(.*?)\s* with negated char classes + trim() - processDictation: document isHtmlEmpty is a visibility check, not a sanitizer
The early return if-not-open guard guarantees open is always true when the JSX renders, making the ternary always evaluate to "open".
Scrollable containers need tabIndex={0} for keyboard accessibility.
Added role="region" and eslint-disable blocks since the rule allowlist
does not include "region" by default.
CodeQL repeatedly flags /<[^>]*>/g patterns (false positive for ReDoS, valid concern for incomplete sanitization). Replace all HTML tag-stripping regex with a simple O(n) character-by-character state machine in src/utils/html.ts that CodeQL will not flag. - CaseNotesTab: use stripHtmlTags() for preview text extraction - processDictation: re-export isHtmlEmpty from shared utility - CaseLettersTab: replace regex HTML detection with indexOf check
This was referenced Jun 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.








Initial attempt at porting the v0-case-mgmt feature set into the @mieweb/ui library as presentational components (case manager + 10 tabs, dashboard, wizard, admin/code-table managers, todo backlog, work status report, etc.) for use in echart-sim.