diff --git a/src/createStyled.js b/src/createStyled.js index b079d8a..93d9739 100644 --- a/src/createStyled.js +++ b/src/createStyled.js @@ -9,9 +9,18 @@ import type { TagNameOrStyledElementType } from './types' -const createStyled = (jss: Function) => ( - baseStyles: BaseStylesType = {} -): StyledType => { +const getStyledArgs = ( + tagNameOrStyledElement: TagNameOrStyledElementType +): StyledElementAttrsType => { + if (typeof tagNameOrStyledElement === 'string') { + return {tagName: tagNameOrStyledElement, style: {}} + } + + const {tagName, style} = tagNameOrStyledElement + return {tagName, style} +} + +const createStyled = (jss: Function) => (baseStyles: BaseStylesType = {}): StyledType => { let staticSheet let dynamicSheet @@ -34,10 +43,7 @@ const createStyled = (jss: Function) => ( tagNameOrStyledElement: TagNameOrStyledElementType, ownStyle: ComponentStyleType ): StyledElementType => { - const {tagName, style}: StyledElementAttrsType = typeof tagNameOrStyledElement === 'string' - ? {tagName: tagNameOrStyledElement, style: {}} - : tagNameOrStyledElement - + const {tagName, style} = getStyledArgs(tagNameOrStyledElement) const elementStyle = {...style, ...ownStyle} return styled({tagName, baseStyles, elementStyle, mountSheets}) diff --git a/src/tests/__snapshots__/index.spec.jsx.snap b/src/tests/__snapshots__/index.spec.jsx.snap index 664eecf..6b920f3 100644 --- a/src/tests/__snapshots__/index.spec.jsx.snap +++ b/src/tests/__snapshots__/index.spec.jsx.snap @@ -9,7 +9,8 @@ exports[`test renders correctly App with default Styled 1`] = `
+ className="section-11-0-12" + data-name="content">