appsmithorg / appsmithorg/appsmith

[Enhancement] Improve StyledComponents theme Autocomplete for React Client Code

Open
#6,843 21 comments 0 reactions 1 assignee Assigned to @mahimathacker View on GitHub
Frontend Good First Issue hacktoberfest Task
Dominant language
TypeScript
Stars
40.9k
Forks
4.8k
Avg merge
1d 22h
Merged PRs (30d)
45

Description

check the code here - https://github.com/appsmithorg/appsmith/blob/release/app/client/src/constants/DefaultTheme.tsx#L345

## Problem
Currently, for generic type value in theme for example `colors: any`, when we need to add something like
`color: ${props.theme.colors.dropdown.header.text};` using styled-components

We do not get an auto-complete prediction for such cases and also if wrote theme objects value reference incorrectly no error is generated.

## Expected

1. To see predictions when referring to theme objects value :

#### Example
```js
`props.theme.colors.dropdown.hea`
-- header
-- heading
```

2. See error when incorrectly used theme object
#### Example
```js
const theme = {
colors: {
primary: "#FFFFFF"
}
};

// demo component
const Wrapper = styled.div`
color: ${props => props.theme.colors.incorrectPrimary}; // Should show error - no incorrectPrimary is defined
`
```

## Solution
Ideally, we could generate the `Colors` type from the union of theme object's colors value & dark and light theme's color values.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.