Skip to content

FE-1707: Support custom icon packs in the design system - #9695

Merged
kube merged 2 commits into
mainfrom
codex/fe-1707-icon-pack-support
Sep 15, 2026
Merged

kube merged 2 commits into
mainfrom
codex/fe-1707-icon-pack-support

Conversation

@kube

@kube kube commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Allow an application to supply an icon pack for a component tree. Icons omitted from the pack retain their design-system defaults.

9695-icon-pack-support.mp4

The component demo shows scoped replacements and fallback using the merged source. Checkbox states and both loading-spinner variants keep their design-system rendering.

Links

Changes

  • Export IconProvider and IconPack for scoped icon replacement
  • Keep checkbox marks and loading indicators independent of icon packs
  • Keep test files out of published component entry points and declarations
  • Add a design-system patch changeset

Test coverage

IconProvider tests verify fallback, nested providers, checkbox state, loading indicators, sizing and accessible labels. Design-system, Petrinaut and website build, unit tests, types and lint passed on the Petricon integration tip.

@kube kube self-assigned this Sep 13, 2026
@vercel

vercel Bot commented Sep 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hash Ready Ready Preview Sep 15, 2026 2:57pm UTC
hashdotdesign-tokens Ready Ready Preview Sep 15, 2026 2:57pm UTC
petrinaut Ready Ready Preview Sep 15, 2026 2:57pm UTC
petrinaut-docs Ready Ready Preview Sep 15, 2026 2:57pm UTC

Request Review

@github-actions github-actions Bot added area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team area/apps > hash.design Affects the `hash.design` design site (app) labels Sep 13, 2026
@kube
kube added this pull request to stack #9699 September 13, 2026 22:54
@kube
kube marked this pull request as ready for review September 14, 2026 12:08
@cursor

cursor Bot commented Sep 14, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
New browser execution path for simulations/optimizations from chat with ownership locking and cancellation; moderate scope across core, React host, and AI UI, though heavily tested.

Overview
Adds AI-driven experiments end-to-end: petrinaut-core defines validated createExperiment request/result schemas and a runExperiment host contract (simulate or optimize, up to 100,000 runs). The React experiment host validates a frozen net snapshot, runs Monte Carlo or in-browser optimization with progress/cancellation, and locks experiment UI while a host-owned request is active.

The AI assistant executes createExperiment via ExperimentHostContext, shows progress cards with cancel/view-experiment, and keeps the panel mounted across Edit, Simulate, and Notebook. Net compilation diagnostics now note that scenario/metric checks happen at experiment creation.

Also ships an /ai-experiments website demo with a scripted transport, docs updates, and extensive tests.

Separately, ds-components adds IconProvider / IconPack for scoped icon overrides (defaults when omitted), excludes *.test.tsx from build entries, and exports the new API.

Reviewed by Cursor Bugbot for commit c457573. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread libs/@hashintel/ds-components/src/components/Loading/loading-spinner.tsx Outdated
Comment thread libs/@hashintel/ds-components/src/components/Checkbox/checkbox.tsx Outdated
@alex-e-leon

alex-e-leon commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Just the 2 comments, otherwise I'm ok to push the rest of the icon pack changes through for now

alex-e-leon
alex-e-leon previously approved these changes Sep 14, 2026

@alex-e-leon alex-e-leon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go for it 👍

@kube
kube requested a review from alex-e-leon September 14, 2026 12:34
@kube
kube removed this pull request from stack #9699 September 15, 2026 01:16
@kube
kube added this pull request to stack #9730 September 15, 2026 01:18
@kube
kube removed this pull request from stack #9730 September 15, 2026 02:00
@kube
kube added this pull request to stack #9731 September 15, 2026 02:02
@kube
kube removed this pull request from stack #9731 September 15, 2026 02:30
@kube
kube added this pull request to stack #9733 September 15, 2026 02:31
An error occurred while trying to automatically change base from codex/fe-1484-ai-experiments to codex/fe-1667-ai-experiment-chat September 15, 2026 13:50
@kube
kube force-pushed the codex/fe-1707-icon-pack-support branch from dd5dd95 to c457573 Compare September 15, 2026 14:47
@github-actions github-actions Bot added type/eng > backend Owned by the @backend team area/tests New or updated tests area/apps labels Sep 15, 2026
@kube
kube removed this pull request from stack #9733 September 15, 2026 14:48
@kube
kube changed the base branch from codex/fe-1484-ai-experiments to main September 15, 2026 14:48
@kube
kube dismissed alex-e-leon’s stale review September 15, 2026 14:48

The base branch was changed.

@github-actions github-actions Bot removed type/eng > backend Owned by the @backend team area/tests New or updated tests area/apps labels Sep 15, 2026
@kube
kube added this pull request to stack #9740 September 15, 2026 14:48
@kube
kube requested a review from CiaranMn September 15, 2026 14:48
@kube
kube added this pull request to the merge queue Sep 15, 2026
Merged via the queue into main with commit 3b5fd0f Sep 15, 2026
65 checks passed
@kube
kube deleted the codex/fe-1707-icon-pack-support branch September 15, 2026 16:05
@hash-release hash-release Bot mentioned this pull request Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/apps > hash.design Affects the `hash.design` design site (app) area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team

Development

Successfully merging this pull request may close these issues.

2 participants