feat(apollo-vertex): add Insight ramp and AI gradients to Foundation#844
feat(apollo-vertex): add Insight ramp and AI gradients to Foundation#844petervachon wants to merge 1 commit into
Conversation
Add the insight-50..900 ramp to the color foundation, document the four AI gradient tokens on Foundation > Colors with live theme-aware swatches, and reconcile the AI tokens in registry.json to match the already-generated CSS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
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 the Insight color ramp and documents AI gradient tokens in Apollo Vertex Foundation colors, while updating registry.json to align AI-related theme tokens with the generated CSS variables.
Changes:
- Added the
insight-50…900ramp as a distinct color group for Foundation token display. - Updated Foundation Colors documentation to show live, theme-resolving swatches for the AI gradient tokens (
--ai-gradient-fill,--ai-gradient-text,--ai-gradient-strong,--ai-gradient). - Reconciled AI-related theme tokens in
registry.json(including theme-awareai-gradient, plusai-glow-*,ai-glass, and gradient fill/text tokens). (Also removes thesolution-testsregistry item.)
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| apps/apollo-vertex/registry.json | Updates AI token definitions to reference ramp CSS vars and adds missing AI tokens; also removes a registry item (solution-tests). |
| apps/apollo-vertex/lib/foundation-tokens.ts | Adds the Insight color ramp to the token groups rendered on the Foundation Colors page. |
| apps/apollo-vertex/app/foundation/colors/page.mdx | Replaces static AI gradient examples with live swatches driven by theme CSS variables. |
| } | ||
| ] | ||
| }, | ||
| { | ||
| "name": "solution-tests", | ||
| "type": "registry:ui", | ||
| "title": "Solution Tests", | ||
| "description": "Page-level view for managing UiPath Solution Tests — test cases, batch runs, KPI trend, run-result baselines, and adopt/update/remove actions. Domain-neutral: the smart container reads the generic UiPathST* entity collections from your vs-core solution via collection-backed hooks, and the subject entity is parameterized via SolutionTestsConfig.", | ||
| "dependencies": [ | ||
| "@tanstack/react-db@^0.1.86", | ||
| "@tanstack/react-query@^5.90.0", | ||
| "@tanstack/react-table", | ||
| "@tanstack/react-router", | ||
| "@uipath/vs-core@^2.0.6", | ||
| "@uipath/uipath-typescript@^1.0.0", | ||
| "react-i18next", | ||
| "recharts@2.15.4", | ||
| "sonner", | ||
| "lucide-react", | ||
| "zod" | ||
| ], | ||
| "registryDependencies": [ | ||
| "@uipath/alert", | ||
| "@uipath/badge", | ||
| "@uipath/button", | ||
| "@uipath/card", | ||
| "@uipath/chart", | ||
| "@uipath/data-table", | ||
| "@uipath/dialog", | ||
| "@uipath/empty", | ||
| "@uipath/page-header", | ||
| "@uipath/skeleton", | ||
| "@uipath/sonner", | ||
| "@uipath/spinner", | ||
| "@uipath/switch", | ||
| "@uipath/table", | ||
| "@uipath/tabs", | ||
| "@uipath/tooltip" | ||
| ], | ||
| "files": [ | ||
| { | ||
| "path": "registry/solution-tests/index.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/index.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/solution-tests-view.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/solution-tests-view.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/solution-tests.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/solution-tests.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/context.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/context.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/hooks.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/hooks.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/constants.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/constants.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/mutations.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/mutations.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/attachments.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/attachments.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/actions.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/actions.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/create-actions.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/create-actions.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-solution-tests.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-solution-tests.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-solution-test-collection.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-solution-test-collection.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-solution-test-batch-runs.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-solution-test-batch-runs.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-solution-test-runs.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-solution-test-runs.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-baseline-jobs.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-baseline-jobs.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-run-results.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-run-results.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/use-force-stop.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/use-force-stop.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/config.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/config.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/types.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/types.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/tabs.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/tabs.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/status-maps.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/status-maps.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/utils.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/utils.ts" | ||
| }, | ||
| { "path": "lib/renderValueOrEmptyState.ts", "type": "registry:lib" }, | ||
| { "path": "lib/constants.ts", "type": "registry:lib" }, | ||
| { | ||
| "path": "registry/solution-tests/user-messages.ts", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/user-messages.ts" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/user-messages-view.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/user-messages-view.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/json-viewer-dialog.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/json-viewer-dialog.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/delete-confirm-dialog.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/delete-confirm-dialog.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/evaluator-results-view.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/evaluator-results-view.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/kpi-bar.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/kpi-bar.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/expanded-agents.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/expanded-agents.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/expanded-agents-view.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/expanded-agents-view.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/result-expanded-content.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/result-expanded-content.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/run-confirm-dialog.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/run-confirm-dialog.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/run-details-dialog.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/run-details-dialog.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/run-details-dialog-view.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/run-details-dialog-view.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/expanded-run-tests.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/expanded-run-tests.tsx" | ||
| }, | ||
| { | ||
| "path": "registry/solution-tests/expanded-run-tests-view.tsx", | ||
| "type": "registry:ui", | ||
| "target": "components/ui/solution-tests/expanded-run-tests-view.tsx" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| } |
📊 Coverage + size by packagePer-package bundle size on this PR (no JS/TS source changes detected under
"Coverage" is each package's own |
Summary
The color foundation for the AI visual expression, and the base of the set that everything else stacks on.
registry.json: the AI tokens consumed across the set (--ai-gradient-fill,--ai-gradient-text,--ai-glow-*,--ai-glass, and the theme-aware--ai-gradient).theme.generated.cssis built fromregistry.json, so these must land first or downstream previews render blank gradients and glows.lib/foundation-tokens.ts: add theinsight-50…900ramp (the violet that signals intelligence) to the Colors page data.app/foundation/colors/page.mdx: document the four AI gradient tokens with live, theme-aware swatches.Part of a set
The root of a set splitting the AI visual expression work (originally draft #840). Everything else stacks on this because the AI tokens here are a build-time prerequisite. Full set linked below.
The full set
Merge order (each stacked PR retargets to
mainonce its base merges):main(ROOT)