cssinjs / jss

JSS is an authoring tool for CSS which uses JavaScript as a host language.
https://cssinjs.org
MIT License
7.08k stars 399 forks source link

Type error when using fallbacks array with typescript #1596

Open unnamddd opened 2 years ago

unnamddd commented 2 years ago

Expected behavior: Fallbacks array with typescript styles

Describe the bug: Using fallbacks array in style object with typescript leads to an error. If I'm using fallbacks as an object it works just fine. Also the style compiles successfully, but the typerror may lead to the pipeline fails and other messy things.

Type '{ width: string; }[]' is not assignable to type 'JssValue | JssStyle<any, undefined> | Observable<JssValue | JssStyle<any, undefined> | undefined> | ((data: any) => JssValue | ... 1 more ... | undefined)'. Type '{ width: string; }[]' is not assignable to type '(string | number | (string | number)[])[]'. Type '{ width: string; }' is not assignable to type 'string | number | (string | number)[]'. Object literal may only specify known properties, and 'width' does not exist in type '(string | number)[]'.ts(2322)

Reproduction: https://codesandbox.io/s/jss-typescript-react-test-forked-lq0sm?file=/src/styles.ts

Versions (please complete the following information):

gabrielferreira-cit commented 1 year ago

I still have the same issue on version 10.9.0, even though it's over a year old. Do you happen to have any updates on this?