Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 15, 2018

This PR contains the following updates:

Package Type Update Change References
styled-components dependencies major ^3.4.2 -> ^4.0.0 homepage, source

Release Notes

styled-components/styled-components

v4.0.3

Compare Source

  • Interpolating a styled component into a string now returns the static component selector (emotion cross-compat)

    import styled from 'styled-components';
    
    const Comp = styled.div`
      color: red;
    `;
    
    `${Comp}`; // .sc-hash
  • Add suppressClassNameWarning prop to disable warning when wrapping a React component with styled() and the className 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

  • Handle an edge case where an at-rule was being supplied to the self-reference stylis plugin at an incorrect context setting, by @​probablyup (see #​2114)

v4.0.1

Compare Source

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 the React.createContext API if people are interested in using it rather than / in addition to the withTheme HOC, by @​probablyup

  • Add createGlobalStyle that returns a component which, when mounting, will apply global styles. This is a replacement for the injectGlobal API. It can be updated, replaced, removed, etc like any normal component and the global scope will update accordingly, by @​JamieDixon @​marionebl, @​yjimk, and @​imbhargav5 (see #​1416)

    const GlobalStyles = createGlobalStyle`
      html {
        color: 'red';
      }
    `;
    
    // then put it in your React tree somewhere:
    // <GlobalStyles />
  • Added a first-class API for rendering polymorphism via "as" prop. In most cases, this new prop will replace your need to use the .withComponent API. It allows you to control what underlying element or component is rendered at runtime, while not messing with the styles, by @​probablyup (see #​1962)

    import { Link } from 'react-router'
    
    const Component = styled.div`
      color: red;
    `
    
    // Examples
    <Component>Hello world!</Component>
    <Component as="span">Hello world!</Component>
    <Component as={Link} to="home">Hello world!</Component>
Breaking changes
  • Fix how ampersand is handled in self-referential selector combinations, e.g. & + & (see #​2071)

  • Remove deprecated consolidateStreamedStyles API, by @​probablyup (see #​1906)

  • Remove deprecated jsnext:main entry point from package.json, by @​probablyup (see #​1907)

  • Remove deprecated .extend API, by @​probablyup (see #​1908)

  • Migrate to new context API, by @​alexandernanberg (see #​1894)

  • Remove TS typings; they are now to be found in DefinitelyTyped, by @​probablyup. See #​1778 for more information.

  • Add new data-styled-version attribute to generated <style> tags to allow multiple versions of styled-components to function on the page at once without clobbering each other, by @​probablyup

    It's still highly recommended to use aliasing via your bundler to dedupe libraries like styled-components and react.

  • [Breaking change] Refactor keyframes helper, by @​fer0x (see #​1930).

    Keyframes is now implemented in a "lazy" manner: its styles will be injected with the render phase of components using them.

    keyframes no longer returns an animation name, instead it returns an object which has method .getName() for the purpose of getting the animation name.

  • Migrate to use new React.forwardRef API, by @​probablyup; note that this removes the innerRef API since it is no longer needed.

  • Implement styled() wrapper folding. In a nutshell, when you nest styled wrappers (e.g. styled(styled.div)) the components are now folded such that only one is mounted that contains the merged styles of its ancestors. This is conceptually equivalent to the removed "extend" functionality, but without many of the downsides -- and it's automatic, by @​probablyup (see #​1962)

Developer experience improvements
  • Add warning when component is not a styled component and cannot be referred via component selector, by @​egdbear (see #​2070)

    When using CRA v2, import styled components from styled-components/macro instead to gain all the benefits of our babel plugin.

  • Add a warning when wrapping a React component with styled() and the className isn't used (meaning styling isn't applied), by @​Fer0x (see #​2073)

  • Tweak the styled components base component naming to look nicer in DevTools, by @​probablyup (see #​2012)

  • Beef up the error message that sometimes occurs when multiple versions of styled components are used together and the StyleSheet instance can't be found, by @​probablyup (see #​2012)

Misc
  • Add enzymeFind test utility to easily grab instances of a styled-component from enyzme mounted testing scenarios, by @​probablyup (see #​2049)

    import { mount } from 'enzyme';
    import React from 'react';
    import styled from 'styled-components';
    import { enzymeFind } from 'styled-components/test-utils';
    
    const Thing = styled.div`
      color: red;
    `;
    
    const wrapper = mount(
      <div>
        <Thing isCool />
      </div>
    );
    
    const thing = enzymeFind(wrapper, Thing);
    
    // expect(thing.props()).toHaveProperty('isCool') etc
  • Inline and optimize the static hoisting functionality to avoid a bundler bug and shed a bit of package weight, by @​probablyup (see #​2021


Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Enabled.

♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

🔕 Ignore: Close this PR and you won't be reminded about this update again.


This PR has been generated by Renovate Bot. View repository job log here.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 302

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 300: 0.0%
Covered Lines: 32
Relevant Lines: 32

💛 - Coveralls

@renovate renovate bot force-pushed the renovate/styled-components-4.x branch from c698fd7 to e287a2b Compare October 31, 2018 16:08
@renovate renovate bot merged commit d9273fc into master Oct 31, 2018
@renovate renovate bot deleted the renovate/styled-components-4.x branch October 31, 2018 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants