callstack / callstack/react-theme-provider
TS doesn't see props after «styled()» of «withTheme(styled.button`...`)»
- Langage dominant
- JavaScript
- Étoiles
- 467
- Forks
- 53
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Linking with https://github.com/callstack/linaria/issues/893
## Environment
* macOS Monterrey
* yarn 3 (PnP)
* TS 4.5.2
* "@linaria/core": "^3.0.0-beta.15",
* "@linaria/react": "^3.0.0-beta.15",
* "@linaria/babel-preset": "^3.0.0-beta.15",
* "@linaria/shaker": "^3.0.0-beta.15",
* "@linaria/webpack-loader": "^3.0.0-beta.16",
* "@callstack/react-theme-provider": "^3.0.7",
* bundler - storybook@6
* node 14.17.6
## Description
```ts
export const Select = () => (
);
const Button = withTheme(styled.button`
width: 100%;
`);
export const OptionButton = styled(Button)`
width: 50%;
`;
```


If I add Button directly - no error

If I remove `withTheme` - no error too

## Reproducible Demo
https://codesandbox.io/s/wild-grass-g4e0u?file=/src/App.tsx
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par le CodeSandbox reproductible et comparez les cas où Button est utilisé directement ou où withTheme est supprimé. Suivez la manière dont TypeScript infère les props via styled() et withTheme() ; c’est terminé lorsque OptionButton accepte les props présentées sans erreur tout en conservant la composition existante utilisant le thème.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- react, typescript
- Domaine
- frontend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100