Conversation
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
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.
Shared controls now follow the approved Block UI direction while retaining Base UI behavior: 32/40/52px pill buttons, named emphasis and destructive styles, loading protection, and shared Field/Input/Textarea/RadioGroup/Checkbox components. SearchField forwards input refs and keyboard handlers and restores focus after clearing. Existing Button names remain compatible while callers migrate.
Stack 2/4: #73 → #85 → this PR → #87 → #88. Controls use semantic colors in both modes. Inter and JetBrains Mono remain; no private package, font, artwork or business examples are added. Avatars retain their independent 24/32/40px sizes.
Validation: TypeScript, viewer build, design guards and 47 design tests passed. The completed stack also passed all 26 viewer browser checks. Mounted tests cover loading activation/submission, field associations, radio keyboard and form behavior, disabled choices, and search focus. Radio options use Base UI Field.Item to preserve their individual labels and IDs. No browser cases are added or removed.
A separate test-only follow-up prepares the existing 1,025/1,024 signed capacity fixtures in scoped setup. Both capacity checks retain real signatures, every record, all assertions and the unchanged timeout settings. The earlier one-worker full run passed 1,561/1,563 tests, with only these signing-heavy cases timing out at 5.53/5.80 seconds. The focused file now passes all 19 tests (7.57 seconds total, including preparation; behavior assertions 14/15ms). These are local macOS measurements under different machine load, not a speedup claim. No relay production code changes.
Hosted CI is required on the final branch head. Full local
just scan, native visual testing and human review remain deferred; this is a draft, not integration-ready.