[MBL-19905] InstUI icons#4008
Open
vargaat wants to merge 5 commits into
Open
Conversation
Contributor
PR ChecksCommit: Merge branch 'master' into feature/MBL-19905-InstUI-icons (6b3600e)
|
Contributor
BuildsCommit: Merge branch 'master' into feature/MBL-19905-InstUI-icons (6b3600e) |
suhaibabsi-inst
previously approved these changes
Apr 27, 2026
petkybenedek
suggested changes
Apr 27, 2026
petkybenedek
previously approved these changes
Apr 27, 2026
rh12
previously approved these changes
Apr 27, 2026
Contributor
There was a problem hiding this comment.
QA + 1
As discussed:
- make them static let (requires namespace to be created in generated file)
- remove backticks inside the
allitems
Future storybook improvements:
- filter (same suggestion for colors)
- side index list ?
- dynamic scaling ?
- size setting ?
rh12
approved these changes
Apr 30, 2026
petkybenedek
approved these changes
May 11, 2026
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.
PR Review Guide
This PR is large due to the generated asset catalog (1,780 SVG imagesets). The files below are the only non-generated, reviewable changes. Asset catalog files under
packages/InstUI/Resources/Icons.xcassets/can be ignored for review purposes.Build script
scripts/instui/build-icons.jsNew script that drives the icon import pipeline. On each run it clears and rebuilds
Icons.xcassetswith SVGs from two sources: Lucide 1.8.0 (1,695 icons, no suffix) and the instructure-uiCustom/subdirectory (85 icons,Customsuffix appended only on the two names that conflict with Lucide). SVGs are color-normalized to a template placeholder color (#D852BE) so they render as tintable template images in iOS. Icons already at24×24viewBox pass through without a scale transform; 1920-unit icons are scaled down. GeneratesInstUI.Icons.swiftas a side effect.scripts/instui/build-instui.jsOne-line change: calls
buildIcons(INSTUI_VERSION)as the first step of the existingyarn build-instuipipeline so icons are always rebuilt alongside tokens.InstUI Swift package
packages/InstUI/Sources/Icon/InstUI+IconNamespace.swiftDeclares
extension Image { public enum iui {} }— the static namespace that all generated icon accessors hang off. This file is never overwritten by the build script.packages/InstUI/Sources/Icon/Generated/InstUI.Icons.swiftAuto-generated by
yarn build-instui(do not edit). Addspublic static var name: Imageaccessors onImage.iuifor all 1,780 icons, plus an internalall: [(name: String, image: Image)]array used by the Storybook to iterate every icon without a runtime asset catalog enumeration API.packages/InstUI/Sources/Icon/Storybook/InstUI.Icons.Storybook.swiftAdds
Image.iui.Storybook— aLazyVGridview that renders all icons from theallarray with their names, following the same layout pattern as the existingInstUI.Primitive.Color.Storybook.packages/InstUI/Sources/InstUI.Storybook.swiftAdds an Icons section to the top-level
InstUI.Storybooklist that navigates toImage.iui.Storybook.License
packages/InstUI/Resources/LICENSE-lucideISC license for the Lucide icon set, copied verbatim from the Lucide 1.8.0 release and refreshed automatically on every
yarn build-instuirun.PR Info
refs: MBL-19905
builds: Student, Teacher, Parent
affects: Student, Teacher, Parent
release note: none