chore(website): update dependency styled-components to v6 #6642
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.4.10
->6.1.11
Release Notes
styled-components/styled-components (styled-components)
v6.1.11
Compare Source
v6.1.10
Compare Source
v6.1.9
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.1.8...v6.1.9
v6.1.8
Compare Source
Revert adding
peerDependencies
from v6.1.7; apparently some build tools do not respectpeerDependenciesMeta[package].optional
which is causing issues. Will revisit at a later date if possible.Full Changelog: styled-components/styled-components@v6.1.7...v6.1.8
v6.1.7
Compare Source
What's Changed
chore: add all missing peer dependency statements by @quantizor in https://github.com/styled-components/styled-components/pull/4243
NOTE: this change may cause some installed dependency duplication until this NPM bug is addressed but yarn and pnpm have correct behavior. Bun also has a similar bug.
Overall these changes ensure that styled-components is specifying a known working version of all utilized libraries, while instructing the client package manager that higher semver-compliant versions are permissible and should work, assuming the relevant libraries are compliant in practice.
Full Changelog: styled-components/styled-components@v6.1.6...v6.1.7
v6.1.6
Compare Source
What's Changed
Full Changelog: styled-components/styled-components@v6.1.5...v6.1.6
v6.1.5
Compare Source
What's Changed
Full Changelog: styled-components/styled-components@v6.1.4...v6.1.5
v6.1.4
Compare Source
What's Changed
attrs
to provide a customtheme
prop to child components by @quantizor in https://github.com/styled-components/styled-components/pull/4242Full Changelog: styled-components/styled-components@v6.1.3...v6.1.4
v6.1.3
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.1.2...v6.1.3
v6.1.2
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.1.1...v6.1.2
v6.1.1
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.1.0...v6.1.1
v6.1.0
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.0.9...v6.1.0
v6.0.9
Compare Source
fix bundling to not hardcode
window
(should fix some testing use cases that were incorrectly assuming a server environment when JSDOM and similar are in use)Full Changelog: styled-components/styled-components@v6.0.8...v6.0.9
v6.0.8
Compare Source
What's Changed
toStyleSheet
function by @krudos in https://github.com/styled-components/styled-components/pull/4124StyleSheetManager
updating context on every render by @keeganstreet in https://github.com/styled-components/styled-components/pull/4159JSX.IntrinsicElements
for the supported element list by @RJWadley in https://github.com/styled-components/styled-components/pull/4149StyleFunction
,Interpolation
by @bcole808 in https://github.com/styled-components/styled-components/pull/4140CSSProperties
,CSSObject
,CSSPseudos
andCSSKeyframes
by @takurinton in https://github.com/styled-components/styled-components/pull/4117New Contributors
Full Changelog: styled-components/styled-components@v6.0.7...v6.0.8
v6.0.7
Compare Source
What's Changed
exactOptionalPropertyTypes
check by @aspirisen in https://github.com/styled-components/styled-components/pull/3993New Contributors
Full Changelog: styled-components/styled-components@v6.0.6...v6.0.7
v6.0.6
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.0.5...v6.0.6
v6.0.5
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.0.4...v6.0.5
v6.0.4
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.0.3...v6.0.4
v6.0.3
Compare Source
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v6.0.2...v6.0.3
v6.0.2
Compare Source
What's Changed
displayName
in production to save bytes, it's already present in the static className if you're using the babel plugin or equivalentflatMap
andat
with ES5-compliant variantsNew Contributors
Full Changelog: styled-components/styled-components@v6.0.1...v6.0.2
v6.0.1
Compare Source
Fixed an issue where a dev-time warning was being triggered too eagerly.
Full Changelog: styled-components/styled-components@v6.0.0...v6.0.1
v6.0.0
Compare Source
Changed in this version
c0f8015
)e6c4f0a
)fa58875
)Breaking changes in v6
Migration guide → https://styled-components.com/docs/faqs#what-do-i-need-to-do-to-migrate-to-v6
stylis
v4 (if usingstylis-plugin-rtl
you'll need to upgrade to the newer version)@types/styled-components
in the past, you'll want to remove it$as
and$forwardedAs
props (useas
orforwardedAs
)$
prefix) for stuff you don't want to be passed to child component / HTMLStyleSheetManager
disableVendorPrefixes
withenableVendorPrefixes
propwithComponent
API (87f511a
); use "as" prop insteadFull Changelog: styled-components/styled-components@v5.3.7...v6.0.0
v5.3.11
Compare Source
Removed use of the
useDebugValue
hook to rectify older React support.Full Changelog: styled-components/styled-components@v5.3.10...v5.3.11
v5.3.10
Compare Source
What's Changed
Full Changelog: styled-components/styled-components@v5.3.9...v5.3.10
v5.3.9
Compare Source
What's Changed
Full Changelog: styled-components/styled-components@v5.3.8...v5.3.9
v5.3.8
Compare Source
What's Changed
fix(constants): rework process env guard
Full Changelog: styled-components/styled-components@v5.3.7-fixed...v5.3.8
v5.3.7
Compare Source
v5.3.6
Compare Source
What's Changed
Deprecations
$as
and$forwardedAs
will be removed in the next major version, use the unprefixed props insteadNew Contributors
Full Changelog: styled-components/styled-components@v5.3.5...v5.3.6
v5.3.5
Add statement of solidarity against the war on Ukraine 🇺🇦
v5.3.3
What's Changed
New Contributors
Full Changelog: styled-components/styled-components@v5.3.1...v5.3.3
v5.3.1
Compare Source
v5.3.0
Compare Source
Pass
elementToBeCreated
as a third parameter toshouldForwardProp
so that the user-specified function can decide whether to pass through props based on whether the created element will be a tag or another component. (see #3436)Fix React Native components accepts function as style prop. (see #3389)
v5.2.3
Compare Source
fix an issue with an unguarded window accessor in a SSR path (see #3446)
v5.2.2
Compare Source
For React Native based components, pass
testID
down to the native component if specified for an easier time testing. (see #3365)Enable users of the babel macro to customize the styled-components import with
importModuleName
(see #3422)[fix] COMPLEX_SELECTOR_PREFIX.includes wasn't transpiled (see #3397)
v5.2.1
Compare Source
Tweak server-side build settings to resolve an issue with jest-dom not being able to pick up generated styles (see #3308) thanks @Lazyuki
v5.2.0
Compare Source
Make sure
StyleSheetManager
renders all styles in iframe / child windows (see #3159) thanks @eramdam!Rework how components self-reference in extension scenarios (see #3236); should fix a bunch of subtle bugs around patterns like
& + &
Fix
keyframes
not receiving a modified stylis instance when using something likestylis-plugin-rtl
(see #3239)Big performance gain for components using style objects (see #3239)
We no longer emit dynamic classNames for empty rulesets, so some className churn may occur in snapshots
Preallocate global style placement to ensure cGS is consistently inserted at the top of the stylesheet; note that this is done in runtime order so, if you have multiple cGS that have overlapping styles, ensure they're defined in code in the sequence you would want them injected (see #3239)
Add "engines" to package.json (currently set to Node 10, the oldest supported LTS distribution) (see #3201) thanks @MichaelDeBoey!
Finally, special thanks to @willheslam for testing and some last minute fixes on this release!
v5.1.1
Compare Source
New Functionality
shouldForwardProp
API for native and primitive platforms, which was previously missing in [v5.1.0] (see #3093)This has been released under a patch bump instead of a minor, since it's only been missing from Native-support.
Bugfixes
useTheme
hook to named exports for react-primitives entrypoint (see #2982) thanks @jladuval!v5.1.0
Compare Source
New Functionality
Add
shouldForwardProp
API (almost the same as emotion's, just a slightly different usage pattern); https://github.com/styled-components/styled-components/pull/3006Sometimes when composing multiple higher-order components together, it's possible to get into scenarios when multiple layers consume props by the same name. In the past we've introduced various workarounds for popular props like
"as"
but this power-user API allows for more granular customization of what props are passed down to descendant component children when using thestyled()
HOC wrapper.When combined with other APIs like
.attrs()
this becomes a very powerful constellation of abilities.Here's how you use it:
Renders:
Thanks @stevesims and all that contributed!
Add "transient props" API; https://github.com/styled-components/styled-components/pull/3052
Think of transient props as a lightweight, but complementary API to
shouldForwardProp
. Because styled-components allows any kind of prop to be used for styling (a trait shared by most CSS-in-JS libraries, but not the third party library ecosystem in general), adding a filter for every possible prop you might use can get cumbersome.Transient props are a new pattern to pass props that are explicitly consumed only by styled components and are not meant to be passed down to deeper component layers. Here's how you use them:
Note the dollar sign (
$
) prefix on the prop; this marks it as transient and styled-components knows not to add it to the rendered DOM element or pass it further down the component hierarchy.Bugfixes
Fix slow SSR Rehydration for malformed CSS and increase fault-tolerance (see #3018)
Change isPlainObject (internal method) to support objects created in a different context (see #3068) thanks @keeganstreet!
Add support for the
<video disablePictureInPicture>
(see #3058) thanks @egdbear!v5.0.1
Compare Source
Added useTheme hook to named exports for react native (#2982)
Performance enhancements
Added some helpful new dev-time warnings for antipatterns
@import
insidecreateGlobalStyle
and what to do instead (#2997)v5.0.0
Compare Source
It's finally here!!! 🚀See the migrating to v5 FAQ page for easy upgrade instructions!
Read the v5 release announcement!
TL;DR:
...and much more all, with no breaking changes!
NOTE: At this time we recommend not using
@import
inside ofcreateGlobalStyle
. We're working on better behavior for this functionality but it just doesn't really work at the moment and it's better if you just embed these imports in your HTML index file, etc.Changes
StyleSheetManager
enhancements<StyleSheetManager stylisPlugins={[]}>...</StyleSheetManager>
disableVendorPrefixes
removes autoprefixing if you don't need legacy browser support;<StyleSheetManager disableVendorPrefixes>...</StyleSheetManager>
disableCSSOMInjection
forces using the slower injection mode if other integrations in your runtime environment can't parse CSSOM-injected styles;<StyleSheetManager disableCSSOMInjection>...</StyleSheetManager>
Removed the "subfunction" attrs syntax that was deprecated in v4
becomes
Update css-to-react-native to v3.0.0 (#2811); the one breaking change noted is that unitless line height is no longer allowed when setting font properties
disallow /ad/i in generated class names (#2837); this change primarily helps to avoid some overly aggressive ad blockers that will mangle generated classnames containing the substring "ad"
if you use styled-components from CDN, in v5 the "react-is" dependency was added (make sure you add this to your project)
v4.4.1
Compare Source
Fix
styled-components
'sreact-native
import for React Native Web, by @fiberjw (see #2797)Remove dev-time warning if referencing a theme prop without an outer
ThemeProvider
, the check for it isn't smart enough to handle cases with "or" or ternary fallbacks and creates undesirable noise in various third party integrationsv4.4.0
Compare Source
This is the last minor release before v5, please start using the beta and give us feedback!
This is a minor release not a patch release due to this change: #2738. Apologies if this causes some code churn in your projects, it was a long-standing bug that needed fixing.
Fix to use
ownerDocument
instead of globaldocument
, by @yamachig (see #2721)Backport fix for SSR classname mismatches in development mode for some environments like next.js (see #2701)
Fix attrs not properly taking precedence over props
Backport fix where classnames are composed in the wrong order if custom class names are passed in (see #2760)
Fix add check for style tag detached - sheet in the style tag is null in this case, by @newying61 (see #2707)
v4.3.2
Compare Source
Fix usage of the "css" prop with the styled-components babel macro (relevant to CRA 2.x users), by @jamesknelson (see #2633)
v4.3.1
Compare Source
We'll explore reintroducing it in v5 but better safe than sorry.
v4.3.0
Compare Source
Make it possible to initialize
SC_ATTR
andSC_DISABLE_SPEEDY
viaREACT_APP_*
.env variables for easier integration with CRA applications (see #2501)Fix components being folded inappropriately when an interim HOC is present (see #2586)
Fix
theme
prop for styled native components, also fixestheme
indefaultProps
for them (see #2576)Add "forwardedAs" prop to allow deeply passing a different "as" prop value to underlying components
when using
styled()
as a higher-order component (see #2580)Implement defaultProps folding (see #2597)
v4.2.1
Compare Source
Major thanks to our wonderful contributors!
Remove className usage checker dev utility due to excessive false-positive noise in certain runtime environments like next.js and the related warning suppression prop (see #2563).
Attach displayName to forwardRef function as described in React docs (see #2508).
Compatibility with react-native-web 0.11 (see #2453).
Add stack trace to .attrs warning (see #2486).
Fix functions as values for object literals. (see 2489)
Remove validation in Babel macro, by @mAAdhaTTah (see #2427)
v4.2.0
Compare Source
Thanks to our amazing contributors for leading the charge on this big minor release! Awesome perf stuff in there and QOL changes in preparation for v5.
Reduced GC pressure when using component selector styles. (see #2424).
Add svg tag
marker
to domElements.js (see #2389)Make the
GlobalStyleComponent
created bycreateGlobalStyle
call the base constructor withprops
(see #2321).Move to Mono repository structure with lerna @imbhargav5 (see #2326)
Expose
StyleSheetContext
andStyleSheetConsumer
for you fancy babes doing wild stuffFilter
suppressClassNameWarning
to not to pass down to the wrapped components @taneba (see #2365)Fix an edge case where React would break streaming inside
<textarea>
elements, which have special child behavior and aren't a suitable place to inject a style tag (see #2413)v4.1.3
Compare Source
Under the hood code cleanup of the Babel macro, by @lucleray (see #2286)
v4.1.2
Compare Source
Fix function-form attrs to receive the full execution context (including theme) (see #2210)
Adjust
innerRef
deprecation warning to not be fired if wrapping a custom component, since that underlying component may not be on forwardRef yet and actually using the prop (see #2211)Expose the
ThemeConsumer
andThemeContext
exports for the native and primitives entries (see #2217)Remove
createGlobalStyle
multimount warning; Concurrent and Strict modes intentionally render the same component multiple times, which causes this warning to be triggered always even when usage is correct in the application (see #2216)Folded components are now targetable via component selector as in v3 if you used the old
.extend
API (see #2239)Don't treat uppercased strings as tag-like components and don't filter out props from them (see #2225)
v4.1.1
Compare Source
v4.1.0
Compare Source
Performance optimization for fully static (no function interpolation) styled-components by avoiding using
ThemeConsumer
since it isn't necessary, by @mxstbr (see #2166)Allow disabling "speedy" mode via global
SC_DISABLE_SPEEDY
variable, by @devrelm (see #2185)To make use of this, you can either set
SC_DISABLE_SPEEDY
in your app's entry file or use something likewebpack.DefinePlugin
to do it at build time:Attrs can now be passed a function (see #2200); thanks @oliverlaz for providing an early PoC PR for this!
e.g.:
Fix the
warnTooManyClasses
dev helper not being totally dead code eliminated in production (see #2200)Deprecate functions as object keys for object-form attrs (see #2200)
e.g.:
Support for this will be removed in styled-components v5. The primary impetus behind this change is to eliminate confusion around basic functions vs styled-components vs React components provided as values in the object-form attrs constructor, each of which has different handling behaviors. The single outer function to receive the props and then return a props object is conceptually simpler.
The standalone CDN build is now UMD-compliant and can be used with RequireJS, etc.
Add pixels to unitless numbers when object interpolation is used, by @Fer0x (see #2173)
Trying to interpolate a non-styled component into CSS is now a hard error, rather than a warning (see #2173)
v4.0.3
Compare Source
Interpolating a styled component into a string now returns the static component selector (emotion cross-compat)
Add
suppressClassNameWarning
prop to disable warning when wrapping a React component withstyled()
and theclassName
isn't used, by @Fer0x (see #2156)Expose ThemeContext to enable static contextType support for React 16.6, by @imbhargav5 (see #2152)
Filter out invalid HTML attributes from
attrs
, by @Fer0x (see #2133)Add warning if an
attrs
prop is a function that returns an element, by @timswalling (see #2162)v4.0.2
Compare Source
v4.0.1
Compare Source
Add suppressMultiMountWarning prop to disable warning on multiple cgs mount, by @imbhargav5 (see #2107)
Fix self-reference replacement edge cases, by @probablyup (see #2109)
v4.0.0
Compare Source
This is a rollup of the highlights of beta 0-11 for convenience. See the migration guide for easy updating steps and the beta announcement blog for our summary of v4's changes, thought process, etc.
New stuff
Add babel macro for full-featured interop with create react app v2+, by @lucleray (see #2032)
Expose
ThemeConsumer
component, context consumer render prop component from theReact.createContext
API if people are interested in using it rather than / in addition to thewithTheme
HOC, by @probablyupAdd `createGloba
Configuration
📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.