create-emotion-styled
Advanced tools
Comparing version 9.1.1 to 9.1.2
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("prop-types")):"function"==typeof define&&define.amd?define(["prop-types"],t):e["create-emotion-styled"]=t(e.PropTypes)}(this,function(e){"use strict";function t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function n(e){this.setState({theme:e})}function r(){void 0!==this.context[s]&&(this.unsubscribe=this.context[s].subscribe(n.bind(this)))}function i(){void 0!==this.unsubscribe&&this.context[s].unsubscribe(this.unsubscribe)}e=e&&e.hasOwnProperty("default")?e.default:e;var o,a="__emotion_styles",s="__EMOTION_THEMING__",l=(o={},o[s]=e.object,o),c=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|accept|acceptCharset|accessKey|action|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|default|defer|dir|disabled|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan)|(on[A-Z].*)|((data|aria)-.*))$/,p=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}(RegExp.prototype.test.bind(c)),d=function(e){return"theme"!==e&&"innerRef"!==e},u=function(){return!0},m=function(e,t){for(var n=2,r=arguments.length;n<r;n++){var i=arguments[n],o=void 0;for(o in i)e(o)&&(t[o]=i[o])}return t};return function(e,n){var o=function(s,c){function h(){return"."+y}var f,g,y;void 0!==c&&(f=c.e,g=c.label,y=c.target);var v=s.__emotion_real===s,k=void 0===f?v&&s.__emotion_base||s:s,b="string"==typeof k&&k.charAt(0)===k.charAt(0).toLowerCase()?p:d;return function(){function p(){var t=this.props,r=this.state;this.mergedProps=m(u,{},t,{theme:null!==r&&r.theme||t.theme||{}});var i="",o=[];return t.className&&(i+=void 0===f?e.getRegisteredStyles(o,t.className):t.className+" "),i+=void 0===f?e.css.apply(this,x.concat(o)):f,void 0!==y&&(i+=" "+y),n.createElement(k,m(b,{},t,{className:i,ref:t.innerRef}))}var d=arguments,x=v&&void 0!==s[a]?s[a].slice(0):[];if(void 0!==g&&x.push("label:"+g+";"),void 0===f)if(null==d[0]||void 0===d[0].raw)x.push.apply(x,d);else{x.push(d[0][0]);for(var S=d.length,T=1;T<S;T++)x.push(d[T],d[0][T])}var _=function(e){function n(){return e.apply(this,arguments)||this}t(n,e);var o=n.prototype;return o.componentWillMount=r,o.componentWillUnmount=i,o.render=p,n}(n.Component);return _.displayName=void 0!==g?g:"Styled("+("string"==typeof k?k:k.displayName||k.name||"Component")+")",_.contextTypes=l,_[a]=x,_.__emotion_base=k,_.__emotion_real=_,Object.defineProperty(_,"toString",{enumerable:!1,value:h}),_.withComponent=function(e,t){return o(e,void 0!==t?m(u,{},c,t):c).apply(void 0,x)},_}};return o}}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("prop-types")):"function"==typeof define&&define.amd?define(["prop-types"],t):e["create-emotion-styled"]=t(e.PropTypes)}(this,function(e){"use strict";function t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function n(e){this.setState({theme:e})}function r(){void 0!==this.context[a]&&(this.unsubscribe=this.context[a].subscribe(n.bind(this)))}function i(){void 0!==this.unsubscribe&&this.context[a].unsubscribe(this.unsubscribe)}e=e&&e.hasOwnProperty("default")?e.default:e;var o,a="__EMOTION_THEMING__",s=(o={},o[a]=e.object,o),l=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|accept|acceptCharset|accessKey|action|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|default|defer|dir|disabled|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|itemProp|itemScope|itemType|itemID|itemRef|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan)|(on[A-Z].*)|((data|aria)-.*))$/,c=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}(RegExp.prototype.test.bind(l)),p=function(e){return"theme"!==e&&"innerRef"!==e},d=function(){return!0},u=function(e,t){for(var n=2,r=arguments.length;n<r;n++){var i=arguments[n],o=void 0;for(o in i)e(o)&&(t[o]=i[o])}return t};return function(e,n){var o=function(a,l){function m(){return"."+g}var h,f,g,y;void 0!==l&&(h=l.e,f=l.label,g=l.target,y=l.shouldForwardProp);var v=a.__emotion_real===a,k=void 0===h?v&&a.__emotion_base||a:a;return"function"!=typeof y&&(y="string"==typeof k&&k.charAt(0)===k.charAt(0).toLowerCase()?c:p),function(){function c(){var t=this.props,r=this.state;this.mergedProps=u(d,{},t,{theme:null!==r&&r.theme||t.theme||{}});var i="",o=[];return t.className&&(i+=void 0===h?e.getRegisteredStyles(o,t.className):t.className+" "),i+=void 0===h?e.css.apply(this,b.concat(o)):h,void 0!==g&&(i+=" "+g),n.createElement(k,u(y,{},t,{className:i,ref:t.innerRef}))}var p=arguments,b=v&&void 0!==a.__emotion_styles?a.__emotion_styles.slice(0):[];if(void 0!==f&&b.push("label:"+f+";"),void 0===h)if(null==p[0]||void 0===p[0].raw)b.push.apply(b,p);else{b.push(p[0][0]);for(var x=p.length,_=1;_<x;_++)b.push(p[_],p[0][_])}var S=function(e){function n(){return e.apply(this,arguments)||this}t(n,e);var o=n.prototype;return o.componentWillMount=r,o.componentWillUnmount=i,o.render=c,n}(n.Component);return S.displayName=void 0!==f?f:"Styled("+("string"==typeof k?k:k.displayName||k.name||"Component")+")",S.contextTypes=s,S.__emotion_styles=b,S.__emotion_base=k,S.__emotion_real=S,Object.defineProperty(S,"toString",{enumerable:!1,value:m}),S.withComponent=function(e,t){return o(e,void 0!==t?u(d,{},l,t):l).apply(void 0,b)},S}};return o}}); | ||
//# sourceMappingURL=emotion.umd.min.js.map |
@@ -5,3 +5,2 @@ 'use strict'; | ||
var emotionUtils = require('emotion-utils'); | ||
var PropTypes = _interopDefault(require('prop-types')); | ||
@@ -18,2 +17,4 @@ var isPropValid = _interopDefault(require('@emotion/is-prop-valid')); | ||
// https://github.com/styled-components/styled-components/blob/e05b3fe247e9d956bcde786cec376e32afb85bca/src/utils/create-broadcast.js | ||
var _contextTypes; | ||
@@ -28,4 +29,4 @@ | ||
} | ||
var testOmitPropsOnStringTag = emotionUtils.memoize(isPropValid); | ||
var testOmitPropsOnComponent = function testOmitPropsOnComponent(key) { | ||
var testPickPropsOnStringTag = isPropValid; | ||
var testPickPropsOnComponent = function testPickPropsOnComponent(key) { | ||
return key !== 'theme' && key !== 'innerRef'; | ||
@@ -36,3 +37,3 @@ }; | ||
}; | ||
var omitAssign = function omitAssign(testFn, target) { | ||
var pickAssign = function pickAssign(testFn, target) { | ||
var i = 2; | ||
@@ -97,2 +98,3 @@ var length = arguments.length; | ||
var stableClassName; | ||
var shouldForwardProp; | ||
@@ -103,2 +105,3 @@ if (options !== undefined) { | ||
stableClassName = options.target; | ||
shouldForwardProp = options.shouldForwardProp; | ||
} | ||
@@ -108,9 +111,13 @@ | ||
var baseTag = staticClassName === undefined ? isReal && tag.__emotion_base || tag : tag; | ||
var omitFn = typeof baseTag === 'string' && baseTag.charAt(0) === baseTag.charAt(0).toLowerCase() ? testOmitPropsOnStringTag : testOmitPropsOnComponent; | ||
if (typeof shouldForwardProp !== 'function') { | ||
shouldForwardProp = typeof baseTag === 'string' && baseTag.charAt(0) === baseTag.charAt(0).toLowerCase() ? testPickPropsOnStringTag : testPickPropsOnComponent; | ||
} | ||
function _value() { | ||
if (process.env.NODE_ENV !== 'production' && stableClassName === undefined) { | ||
return 'NO_COMPONENT_SELECTOR'; | ||
} | ||
} // $FlowFixMe | ||
return "." + stableClassName; | ||
@@ -121,3 +128,3 @@ } | ||
var args = arguments; | ||
var styles = isReal && tag[emotionUtils.STYLES_KEY] !== undefined ? tag[emotionUtils.STYLES_KEY].slice(0) : []; | ||
var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : []; | ||
@@ -145,3 +152,3 @@ if (identifierName !== undefined) { | ||
state = this.state; | ||
this.mergedProps = omitAssign(testAlwaysTrue, {}, props, { | ||
this.mergedProps = pickAssign(testAlwaysTrue, {}, props, { | ||
theme: state !== null && state.theme || props.theme || {} | ||
@@ -170,3 +177,4 @@ }); | ||
return view.createElement(baseTag, omitAssign(omitFn, {}, props, { | ||
return view.createElement(baseTag, // $FlowFixMe | ||
pickAssign(shouldForwardProp, {}, props, { | ||
className: className, | ||
@@ -195,3 +203,3 @@ ref: props.innerRef | ||
Styled.contextTypes = contextTypes; | ||
Styled[emotionUtils.STYLES_KEY] = styles; | ||
Styled.__emotion_styles = styles; | ||
Styled.__emotion_base = baseTag; | ||
@@ -206,3 +214,3 @@ Styled.__emotion_real = Styled; | ||
return _createStyled(nextTag, nextOptions !== undefined ? // $FlowFixMe | ||
omitAssign(testAlwaysTrue, {}, options, nextOptions) : options).apply(void 0, styles); | ||
pickAssign(testAlwaysTrue, {}, options, nextOptions) : options).apply(void 0, styles); | ||
}; | ||
@@ -209,0 +217,0 @@ |
@@ -1,2 +0,1 @@ | ||
import { STYLES_KEY, memoize } from 'emotion-utils'; | ||
import PropTypes from 'prop-types'; | ||
@@ -13,2 +12,4 @@ import isPropValid from '@emotion/is-prop-valid'; | ||
// https://github.com/styled-components/styled-components/blob/e05b3fe247e9d956bcde786cec376e32afb85bca/src/utils/create-broadcast.js | ||
var _contextTypes; | ||
@@ -23,4 +24,4 @@ | ||
} | ||
var testOmitPropsOnStringTag = memoize(isPropValid); | ||
var testOmitPropsOnComponent = function testOmitPropsOnComponent(key) { | ||
var testPickPropsOnStringTag = isPropValid; | ||
var testPickPropsOnComponent = function testPickPropsOnComponent(key) { | ||
return key !== 'theme' && key !== 'innerRef'; | ||
@@ -31,3 +32,3 @@ }; | ||
}; | ||
var omitAssign = function omitAssign(testFn, target) { | ||
var pickAssign = function pickAssign(testFn, target) { | ||
var i = 2; | ||
@@ -92,2 +93,3 @@ var length = arguments.length; | ||
var stableClassName; | ||
var shouldForwardProp; | ||
@@ -98,2 +100,3 @@ if (options !== undefined) { | ||
stableClassName = options.target; | ||
shouldForwardProp = options.shouldForwardProp; | ||
} | ||
@@ -103,9 +106,13 @@ | ||
var baseTag = staticClassName === undefined ? isReal && tag.__emotion_base || tag : tag; | ||
var omitFn = typeof baseTag === 'string' && baseTag.charAt(0) === baseTag.charAt(0).toLowerCase() ? testOmitPropsOnStringTag : testOmitPropsOnComponent; | ||
if (typeof shouldForwardProp !== 'function') { | ||
shouldForwardProp = typeof baseTag === 'string' && baseTag.charAt(0) === baseTag.charAt(0).toLowerCase() ? testPickPropsOnStringTag : testPickPropsOnComponent; | ||
} | ||
function _value() { | ||
if (process.env.NODE_ENV !== 'production' && stableClassName === undefined) { | ||
return 'NO_COMPONENT_SELECTOR'; | ||
} | ||
} // $FlowFixMe | ||
return "." + stableClassName; | ||
@@ -116,3 +123,3 @@ } | ||
var args = arguments; | ||
var styles = isReal && tag[STYLES_KEY] !== undefined ? tag[STYLES_KEY].slice(0) : []; | ||
var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : []; | ||
@@ -140,3 +147,3 @@ if (identifierName !== undefined) { | ||
state = this.state; | ||
this.mergedProps = omitAssign(testAlwaysTrue, {}, props, { | ||
this.mergedProps = pickAssign(testAlwaysTrue, {}, props, { | ||
theme: state !== null && state.theme || props.theme || {} | ||
@@ -165,3 +172,4 @@ }); | ||
return view.createElement(baseTag, omitAssign(omitFn, {}, props, { | ||
return view.createElement(baseTag, // $FlowFixMe | ||
pickAssign(shouldForwardProp, {}, props, { | ||
className: className, | ||
@@ -190,3 +198,3 @@ ref: props.innerRef | ||
Styled.contextTypes = contextTypes; | ||
Styled[STYLES_KEY] = styles; | ||
Styled.__emotion_styles = styles; | ||
Styled.__emotion_base = baseTag; | ||
@@ -201,3 +209,3 @@ Styled.__emotion_real = Styled; | ||
return _createStyled(nextTag, nextOptions !== undefined ? // $FlowFixMe | ||
omitAssign(testAlwaysTrue, {}, options, nextOptions) : options).apply(void 0, styles); | ||
pickAssign(testAlwaysTrue, {}, options, nextOptions) : options).apply(void 0, styles); | ||
}; | ||
@@ -204,0 +212,0 @@ |
{ | ||
"name": "create-emotion-styled", | ||
"version": "9.1.1", | ||
"version": "9.1.2", | ||
"description": "The styled API for emotion", | ||
@@ -19,4 +19,3 @@ "main": "dist/index.cjs.js", | ||
"dependencies": { | ||
"@emotion/is-prop-valid": "^0.5.2", | ||
"emotion-utils": "^9.1.0" | ||
"@emotion/is-prop-valid": "^0.6.1" | ||
}, | ||
@@ -23,0 +22,0 @@ "peerDependencies": { |
// @flow | ||
import { STYLES_KEY } from 'emotion-utils' | ||
import type { Emotion, Interpolations } from 'create-emotion' | ||
@@ -9,6 +8,6 @@ import { channel, contextTypes } from '../../emotion-theming/src/utils' | ||
import { | ||
testOmitPropsOnComponent, | ||
testPickPropsOnComponent, | ||
testAlwaysTrue, | ||
testOmitPropsOnStringTag, | ||
omitAssign, | ||
testPickPropsOnStringTag, | ||
pickAssign, | ||
setTheme | ||
@@ -29,2 +28,3 @@ } from './utils' | ||
let stableClassName | ||
let shouldForwardProp | ||
if (options !== undefined) { | ||
@@ -34,2 +34,3 @@ staticClassName = options.e | ||
stableClassName = options.target | ||
shouldForwardProp = options.shouldForwardProp | ||
} | ||
@@ -42,7 +43,9 @@ const isReal = tag.__emotion_real === tag | ||
const omitFn = | ||
typeof baseTag === 'string' && | ||
baseTag.charAt(0) === baseTag.charAt(0).toLowerCase() | ||
? testOmitPropsOnStringTag | ||
: testOmitPropsOnComponent | ||
if (typeof shouldForwardProp !== 'function') { | ||
shouldForwardProp = | ||
typeof baseTag === 'string' && | ||
baseTag.charAt(0) === baseTag.charAt(0).toLowerCase() | ||
? testPickPropsOnStringTag | ||
: testPickPropsOnComponent | ||
} | ||
@@ -52,3 +55,5 @@ return function() { | ||
let styles = | ||
isReal && tag[STYLES_KEY] !== undefined ? tag[STYLES_KEY].slice(0) : [] | ||
isReal && tag.__emotion_styles !== undefined | ||
? tag.__emotion_styles.slice(0) | ||
: [] | ||
if (identifierName !== undefined) { | ||
@@ -94,3 +99,3 @@ styles.push(`label:${identifierName};`) | ||
const { props, state } = this | ||
this.mergedProps = omitAssign(testAlwaysTrue, {}, props, { | ||
this.mergedProps = pickAssign(testAlwaysTrue, {}, props, { | ||
theme: (state !== null && state.theme) || props.theme || {} | ||
@@ -127,3 +132,7 @@ }) | ||
baseTag, | ||
omitAssign(omitFn, {}, props, { className, ref: props.innerRef }) | ||
// $FlowFixMe | ||
pickAssign(shouldForwardProp, {}, props, { | ||
className, | ||
ref: props.innerRef | ||
}) | ||
) | ||
@@ -142,3 +151,3 @@ } | ||
Styled.contextTypes = contextTypes | ||
Styled[STYLES_KEY] = styles | ||
Styled.__emotion_styles = styles | ||
Styled.__emotion_base = baseTag | ||
@@ -155,2 +164,3 @@ Styled.__emotion_real = Styled | ||
} | ||
// $FlowFixMe | ||
return `.${stableClassName}` | ||
@@ -168,3 +178,3 @@ } | ||
? // $FlowFixMe | ||
omitAssign(testAlwaysTrue, {}, options, nextOptions) | ||
pickAssign(testAlwaysTrue, {}, options, nextOptions) | ||
: options | ||
@@ -171,0 +181,0 @@ )(...styles) |
// @flow | ||
import { memoize } from 'emotion-utils' | ||
import isPropValid from '@emotion/is-prop-valid' | ||
@@ -10,10 +9,9 @@ import type { Interpolations } from 'create-emotion' | ||
export const testOmitPropsOnStringTag: (key: string) => boolean = memoize( | ||
isPropValid | ||
) | ||
export const testOmitPropsOnComponent = (key: string) => | ||
export const testPickPropsOnStringTag = isPropValid | ||
export const testPickPropsOnComponent = (key: string) => | ||
key !== 'theme' && key !== 'innerRef' | ||
export const testAlwaysTrue = () => true | ||
export const omitAssign: ( | ||
export const pickAssign: ( | ||
testFn: (key: string) => boolean, | ||
@@ -37,3 +35,8 @@ target: {}, | ||
export type StyledOptions = { e: string, label: string, target: string } | ||
export type StyledOptions = { | ||
e?: string, | ||
label?: string, | ||
target?: string, | ||
shouldForwardProp?: (?string) => boolean | ||
} | ||
@@ -40,0 +43,0 @@ type CreateStyledComponent = (...args: Interpolations) => * |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
118822
2
611
+ Added@emotion/is-prop-valid@0.6.8(transitive)
+ Added@emotion/memoize@0.6.6(transitive)
- Removedemotion-utils@^9.1.0
- Removed@emotion/is-prop-valid@0.5.2(transitive)
- Removedemotion-utils@9.1.0(transitive)