feat(apollo-react): register case-management canvas icon [MST-11838]#884
Conversation
The CaseManagementProject icon shipped in canvas/icons but was never wired into the getIcon registry, so 'case-management' fell back to a generic box/Lucide glyph. Map it like its sibling project icons (flow-project, agentic-process) so string-driven consumers resolve the real icon.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Dependency License Review
License distribution
Excluded packages
|
There was a problem hiding this comment.
Pull request overview
Adds support for resolving the existing CaseManagementProject canvas icon via the string id 'case-management', so consumers that look up icons by id (e.g., Flow manifests) get the intended UIPath SVG instead of the Lucide Box fallback.
Changes:
- Register
'case-management'in the canvasiconRegistry, mapped toIcons.CaseManagementProjectwith the same default sizing as sibling project icons. - Add a Vitest test asserting
getIcon('case-management')renders theCaseManagementProjectSVG (by#case-management-project).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/apollo-react/src/canvas/utils/icon-registry.tsx | Adds 'case-management' → CaseManagementProject mapping in the UIPath icon registry. |
| packages/apollo-react/src/canvas/utils/icon-registry.test.tsx | Adds coverage ensuring the new registry entry resolves to the UIPath SVG rather than a Lucide fallback. |
📦 Dev Packages🧹 Dev packages cleaned up after PR close. Last updated: 2026-07-04 10:05:31 PT |
📊 Coverage + size by packagePer-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.
"Coverage" is each package's own |
Jira: MST-11838 — Use case management icon from apollo
What
Adds a
'case-management'entry to the canvasgetIconregistry, mapping it to the existingCaseManagementProjecticon component.Why
CaseManagementProjectalready ships from@uipath/apollo-react/canvas/iconsand is used directly byTaskIcon(TaskItemTypeValues.CaseManagement), but it was never wired into the string-keyediconRegistryinicon-registry.tsx. So consumers that resolve icons by id — Flow's node manifests declaredisplay.iconas a string — had no id that resolves to it;'case-management'fell through to the generic Box/Lucide fallback.This adds the one registry entry, alongside its sibling project icons (
flow-project,agentic-process,rpa), using the same default sizing (w ?? 29,h ?? 28).Downstream
Flow Workbench currently works around this gap with a canvas-side resolution overlay. Once this lands and is consumed, that overlay can be simplified to a plain
getIcon('case-management').Testing
icon-registry.test.tsxcase assertinggetIcon('case-management')renders theCaseManagementProjectSVG (matched by its#case-management-projectid) rather than a Lucide fallback — mirrors the existing registry test pattern.biome format+biome lintclean; fullicon-registry.test.tsxsuite passes (5/5).🤖 Generated with Claude Code