Skip to content

chore: 🤖 remove leaked styling library types from public api#847

Open
punkbit wants to merge 11 commits intochore/public-api-as-exports-generator-source-of-truthfrom
chore/remove-leaked-styling-library-types-from-public-api
Open

chore: 🤖 remove leaked styling library types from public api#847
punkbit wants to merge 11 commits intochore/public-api-as-exports-generator-source-of-truthfrom
chore/remove-leaked-styling-library-types-from-public-api

Conversation

@punkbit
Copy link
Collaborator

@punkbit punkbit commented Feb 25, 2026

Why?

Removed StyledLinkProps and linkStyles from the public API to prevent leaking styled-components implementation details, e.g., the $size and $weight transient props. The Link component already accepts a component prop to render as any element type, has size and weight props, and forwards all other props, e.g. onClick, etc.

⚠️ WARNING: Depends on #845 which should be merged first
🤖 On #845 merge, change base branch to main

How?

  • Move/List as deprecated
  • Provide changeset migration details

Preview?

N/A

@changeset-bot
Copy link

changeset-bot bot commented Feb 25, 2026

🦋 Changeset detected

Latest commit: 4811fc4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@clickhouse/click-ui Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

…into chore/remove-leaked-styling-library-types-from-public-api
…into chore/remove-leaked-styling-library-types-from-public-api
…into chore/remove-leaked-styling-library-types-from-public-api
punkbit added 4 commits March 4, 2026 16:33
…into chore/remove-leaked-styling-library-types-from-public-api
…into chore/remove-leaked-styling-library-types-from-public-api
…into chore/remove-leaked-styling-library-types-from-public-api
…into chore/remove-leaked-styling-library-types-from-public-api
@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Claude finished @punkbit's task in 1m 3s —— View job


PR Review

Clean and well-structured deprecation approach. The migration guide in the changeset is helpful and the @deprecated JSDoc tags are correctly placed.


🚨 Must Fix

  • Changeset bump level (cool-onions-wink.md:2): The bump is set to minor, but this PR only adds @deprecated JSDoc annotations — no exports are actually removed and no new features are added. Per semver, this should be a patch bump. A minor bump implies new backward-compatible functionality, which isn't the case here.

    Fix this →

💡 Suggestions (non-blocking)

  • Changeset description (cool-onions-wink.md:5): The summary says "Removed StyledLinkProps and linkStyles from the public API" but they're still exported (just deprecated). This will be misleading in the generated CHANGELOG. Consider: "Deprecated StyledLinkProps and linkStyles — use the Link component with the component prop instead".

    Fix this →

  • LinkProps not exported (src/index.ts:155): The Link component is exported but LinkProps isn't. Consumers who want to type component props have no way to reference them. This is pre-existing and outside the PR scope, but worth tracking as a follow-up.


Overall this is a solid deprecation — moving the exports to a clearly labeled section with JSDoc and a migration guide is exactly the right approach. 🙌

@workflow-authentication-public
Copy link
Contributor

📚 Storybook Preview Deployed

✅ Preview URL: https://click-p38e4t5gk-clickhouse.vercel.app

Built from commit: 0c1d0c0b7c3abe891f6904cf8c0a0fa163b28849

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.

2 participants