Skip to content

Add 5 icons: figma, framer, npm, obra, sprout - #102

Open
Wolfr wants to merge 1 commit into
mainfrom
add-figma-framer-npm-obra-sprout-icons
Open

Add 5 icons: figma, framer, npm, obra, sprout#102
Wolfr wants to merge 1 commit into
mainfrom
add-figma-framer-npm-obra-sprout-icons

Conversation

@Wolfr

@Wolfr Wolfr commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Brings over the 5 icons that were added on the unmerged 1.24.0 branch (commit a0d155c9) but never landed on main: figma, framer, npm, obra, sprout.

Rather than merge the whole 1.24.0 branch (which also rewrote hundreds of unrelated icons), I extracted just the 5 new icons and ran them back through the real SVG-source → generator pipeline.

Naming — applied the Fill convention

The 4 brand icons are filled artwork, so they follow the Brand…Fill convention. On 1.24.0, figma/npm/obra lacked the -fill suffix, which made the generator emit them as StrokeIconProps with a spurious strokeWidth prop. The rename fixes both the naming and the prop type.

1.24.0 name This PR Why
BrandFigma BrandFigmaFill filled → FillIconProps
BrandFramerFill BrandFramerFill already correct
BrandNpm BrandNpmFill filled
BrandObra BrandObraFill filled
Sprout Sprout stroked, non-brand — unchanged

Changes

  • 5 new SVG sources in website/src/lib/svgs/
  • 15 generated components (react .tsx / svelte / vue), exported from each barrel at the correct alphabetical position
  • count.ts 1047 → 1052
  • keywords.ts search entries for all 5 icons

Verification

  • ✅ react package builds clean (unbuild + publint: All good!); new icons present in dist
  • BrandFigmaFillFillIconProps / fill={color}; SproutStrokeIconProps
  • ✅ existing 1047 icons regenerate byte-identical (no noise)
  • ✅ each barrel has exactly 1052 icon exports; no duplicate keyword keys

⚠️ Two follow-ups to be aware of

  1. The Figma source still names figma/npm/obra without -fill (the layers are oi-brand-figma, etc. — that's where the names originate). A future import:icons run from Figma will reintroduce the non-fill names and diverge from this PR. The Figma layers should be renamed to oi-brand-figma-fill / oi-brand-npm-fill / oi-brand-obra-fill to make this stick.
  2. Generator drift: the react package's import_ext is '' but the committed barrels use .mjs. I matched the committed .mjs style by hand rather than let the generator rewrite all 1047 import lines. The generator's import_ext should be set to 'mjs' (or the barrels regenerated) separately so the two stay in sync.

🤖 Generated with Claude Code

Brings over the 5 icons that were added on the unmerged 1.24.0 branch
(commit a0d155c) but never landed on main.

The 4 brand icons are filled artwork, so they follow the Brand…Fill
convention: BrandFigmaFill, BrandFramerFill, BrandNpmFill, BrandObraFill.
On the 1.24.0 branch figma/npm/obra lacked the -fill suffix, which made
the generator emit them as StrokeIconProps with a spurious strokeWidth
prop; the rename fixes both the naming and the prop type. Sprout is a
stroked, non-brand icon and keeps its plain name.

Generated react/svelte/vue components from the SVG sources and added the
exports to each barrel; bumped the website icon count and search keywords.
Verified the react package builds clean (publint OK).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying obra-icons with  Cloudflare Pages  Cloudflare Pages

Latest commit: 96f9a69
Status: ✅  Deploy successful!
Preview URL: https://659d6f54.obra-icons.pages.dev
Branch Preview URL: https://add-figma-framer-npm-obra-sp.obra-icons.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant