From a3dfbae384fee9242f697a7b2feba8c891be6355 Mon Sep 17 00:00:00 2001 From: Konstantin Bagrov Date: Fri, 15 Dec 2023 12:53:24 +0700 Subject: [PATCH 1/4] Change `Array` to `ReadonlyArray` in CSS type declarations, according to change in `csstype` (issue #3136) --- packages/serialize/types/index.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/serialize/types/index.d.ts b/packages/serialize/types/index.d.ts index 8f41fce31..bd5cbebc9 100644 --- a/packages/serialize/types/index.d.ts +++ b/packages/serialize/types/index.d.ts @@ -15,7 +15,8 @@ export type CSSPropertiesWithMultiValues = { export type CSSPseudos = { [K in CSS.Pseudos]?: CSSObject } -export interface ArrayCSSInterpolation extends Array {} +export interface ArrayCSSInterpolation + extends ReadonlyArray {} export type InterpolationPrimitive = | null From 29edb339c2a340b451c2ec8193780953bebe2a42 Mon Sep 17 00:00:00 2001 From: Cerber Ursi Date: Fri, 22 Dec 2023 22:57:22 +0700 Subject: [PATCH 2/4] Add test case for array fields in CSSObject; add ReadonlyArray at one more place --- packages/serialize/types/index.d.ts | 2 +- packages/serialize/types/tests.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/serialize/types/index.d.ts b/packages/serialize/types/index.d.ts index bd5cbebc9..12482c98e 100644 --- a/packages/serialize/types/index.d.ts +++ b/packages/serialize/types/index.d.ts @@ -10,7 +10,7 @@ export type CSSProperties = CSS.PropertiesFallback export type CSSPropertiesWithMultiValues = { [K in keyof CSSProperties]: | CSSProperties[K] - | Array> + | ReadonlyArray> } export type CSSPseudos = { [K in CSS.Pseudos]?: CSSObject } diff --git a/packages/serialize/types/tests.ts b/packages/serialize/types/tests.ts index cffb64451..74f58a2f9 100644 --- a/packages/serialize/types/tests.ts +++ b/packages/serialize/types/tests.ts @@ -48,8 +48,12 @@ serializeStyles({}, {}) let cssObject: CSSObject = { fontWeight: 400, + background: ['red'], + otherProp: ['some-value'], ':hover': { - fontWeight: 700 + fontWeight: 700, + background: ['red'] as const, + otherProp: ['some-value'] as const } } From ec39b7214f023afd4a73a679e3caf74f57ff36af Mon Sep 17 00:00:00 2001 From: Cerber Ursi Date: Fri, 22 Dec 2023 23:18:04 +0700 Subject: [PATCH 3/4] Changeset --- .changeset/warm-pugs-applaud.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/warm-pugs-applaud.md diff --git a/.changeset/warm-pugs-applaud.md b/.changeset/warm-pugs-applaud.md new file mode 100644 index 000000000..10a667e0a --- /dev/null +++ b/.changeset/warm-pugs-applaud.md @@ -0,0 +1,5 @@ +--- +'@emotion/serialize': patch +--- + +Replace arrays with readonly arrays in CSS type definitions, following changes in `csstype` From b7312b88c233c42ba622ac873171fea7b7e39b1d Mon Sep 17 00:00:00 2001 From: Cerber Ursi Date: Fri, 22 Dec 2023 23:53:13 +0700 Subject: [PATCH 4/4] Fix tests for `@emotion/react`, reflecting accidental improvement in error reporting --- packages/react/types/tests-css.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/react/types/tests-css.tsx b/packages/react/types/tests-css.tsx index 2915c6341..e61e3561a 100644 --- a/packages/react/types/tests-css.tsx +++ b/packages/react/types/tests-css.tsx @@ -32,8 +32,10 @@ css` // $ExpectError css(() => 'height: 300px;') -// $ExpectError css` position: relative; - flexgrow: ${() => 20}; + flexgrow: ${ + // $ExpectError + () => 20 + }; `