forked from molecule-ai/molecule-core
* fix(canvas/a11y): mark StatusDot as aria-hidden — decorative element StatusDot is purely decorative; the status is already conveyed via aria-label on parent elements (WorkspaceNode, SidePanel header, etc.). Marking it aria-hidden="true" prevents screen readers from announcing the empty div as "img" with no alt text. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(canvas): guard budget_used optional field with ?? 0 in progress calc TypeScript error in CI: 'budget.budget_used' is possibly 'undefined' when used in the progress percentage calculation. The field is optional per BudgetData interface, so ?? 0 is the correct guard. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(canvas/a11y): Tooltip keyboard focus support + ARIA role - Add role="tooltip" + unique id so assistive tech can find tooltip content - Add aria-describedby on trigger so screen readers announce tooltip text - Add onFocus/onBlur handlers so keyboard users (Tab navigation) can see tooltips that mouse users see on hover Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(canvas/test): restore advanceTimersByTime pattern in orgs-page error test waitFor() + fake timers (vi.useFakeTimers in beforeEach) cause race conditions: the 5s polling timeout fires before React state updates flush. Restores the established pattern used by all other tests in this file: advanceTimersByTimeAsync(50) + runAllTimersAsync(). Also removes the now-unused waitFor import. Ref: PRs #1360, #1345 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Molecule AI Core-UIUX <core-uiux@agents.moleculesai.app> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| canvas | ||
| settings | ||
| tabs | ||
| ui | ||
| A2ATopologyOverlay.tsx | ||
| ApprovalBanner.tsx | ||
| AuditTrailPanel.tsx | ||
| AuthGate.tsx | ||
| BatchActionBar.tsx | ||
| BundleDropZone.tsx | ||
| Canvas.tsx | ||
| CommunicationOverlay.tsx | ||
| ConfirmDialog.tsx | ||
| ConsoleModal.tsx | ||
| ContextMenu.tsx | ||
| ConversationTraceModal.tsx | ||
| CookieConsent.tsx | ||
| CreateWorkspaceDialog.tsx | ||
| DeleteCascadeConfirmDialog.tsx | ||
| EmptyState.tsx | ||
| ErrorBoundary.tsx | ||
| Legend.tsx | ||
| MemoryInspectorPanel.tsx | ||
| MissingKeysModal.tsx | ||
| OnboardingWizard.tsx | ||
| PricingTable.tsx | ||
| ProvisioningTimeout.tsx | ||
| SearchDialog.tsx | ||
| SidePanel.tsx | ||
| Spinner.tsx | ||
| StatusDot.tsx | ||
| TemplatePalette.tsx | ||
| TermsGate.tsx | ||
| Toaster.tsx | ||
| Toolbar.tsx | ||
| Tooltip.tsx | ||
| WorkspaceNode.tsx | ||
| WorkspaceUsage.tsx | ||