styled-components 6.0.0-beta.3 → 6.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/base.d.ts +1 -1
  2. package/dist/constructors/constructWithOptions.d.ts +8 -14
  3. package/dist/constructors/createGlobalStyle.d.ts +1 -1
  4. package/dist/constructors/css.d.ts +4 -4
  5. package/dist/constructors/styled.d.ts +1 -1
  6. package/dist/native/index.d.ts +25 -25
  7. package/dist/styled-components.browser.cjs.js +38 -44
  8. package/dist/styled-components.browser.cjs.js.map +1 -1
  9. package/dist/styled-components.browser.esm.js +38 -44
  10. package/dist/styled-components.browser.esm.js.map +1 -1
  11. package/dist/styled-components.cjs.js +38 -44
  12. package/dist/styled-components.cjs.js.map +1 -1
  13. package/dist/styled-components.esm.js +38 -44
  14. package/dist/styled-components.esm.js.map +1 -1
  15. package/dist/styled-components.js +38 -44
  16. package/dist/styled-components.js.map +1 -1
  17. package/dist/styled-components.min.js +1 -1
  18. package/dist/styled-components.min.js.map +1 -1
  19. package/dist/test/utils.d.ts +1 -1
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/dist/types.d.ts +22 -14
  22. package/dist/utils/flatten.d.ts +1 -1
  23. package/dist/utils/interleave.d.ts +1 -1
  24. package/dist/utils/joinStrings.d.ts +1 -1
  25. package/dist/utils/mixinDeep.d.ts +1 -2
  26. package/native/dist/base.d.ts +1 -1
  27. package/native/dist/constructors/constructWithOptions.d.ts +8 -14
  28. package/native/dist/constructors/createGlobalStyle.d.ts +1 -1
  29. package/native/dist/constructors/css.d.ts +4 -4
  30. package/native/dist/constructors/styled.d.ts +1 -1
  31. package/native/dist/native/index.d.ts +25 -25
  32. package/native/dist/styled-components.native.cjs.js +15 -21
  33. package/native/dist/styled-components.native.cjs.js.map +1 -1
  34. package/native/dist/styled-components.native.esm.js +15 -21
  35. package/native/dist/styled-components.native.esm.js.map +1 -1
  36. package/native/dist/test/utils.d.ts +1 -1
  37. package/native/dist/types.d.ts +22 -14
  38. package/native/dist/utils/flatten.d.ts +1 -1
  39. package/native/dist/utils/interleave.d.ts +1 -1
  40. package/native/dist/utils/joinStrings.d.ts +1 -1
  41. package/native/dist/utils/mixinDeep.d.ts +1 -2
  42. package/package.json +3 -3
  43. package/test-utils/index.ts +10 -6
  44. package/native/dist/base.d.ts.map +0 -1
  45. package/native/dist/constants.d.ts.map +0 -1
  46. package/native/dist/constructors/constructWithOptions.d.ts.map +0 -1
  47. package/native/dist/constructors/createGlobalStyle.d.ts.map +0 -1
  48. package/native/dist/constructors/css.d.ts.map +0 -1
  49. package/native/dist/constructors/keyframes.d.ts.map +0 -1
  50. package/native/dist/constructors/styled.d.ts.map +0 -1
  51. package/native/dist/dist/base.d.ts +0 -18
  52. package/native/dist/dist/base.d.ts.map +0 -1
  53. package/native/dist/dist/constants.d.ts +0 -9
  54. package/native/dist/dist/constants.d.ts.map +0 -1
  55. package/native/dist/dist/constructors/constructWithOptions.d.ts +0 -20
  56. package/native/dist/dist/constructors/constructWithOptions.d.ts.map +0 -1
  57. package/native/dist/dist/constructors/createGlobalStyle.d.ts +0 -4
  58. package/native/dist/dist/constructors/createGlobalStyle.d.ts.map +0 -1
  59. package/native/dist/dist/constructors/css.d.ts +0 -5
  60. package/native/dist/dist/constructors/css.d.ts.map +0 -1
  61. package/native/dist/dist/constructors/keyframes.d.ts +0 -4
  62. package/native/dist/dist/constructors/keyframes.d.ts.map +0 -1
  63. package/native/dist/dist/constructors/styled.d.ts +0 -186
  64. package/native/dist/dist/constructors/styled.d.ts.map +0 -1
  65. package/native/dist/dist/hoc/withTheme.d.ts +0 -4
  66. package/native/dist/dist/hoc/withTheme.d.ts.map +0 -1
  67. package/native/dist/dist/hoc/withTheme.spec.d.ts +0 -2
  68. package/native/dist/dist/hoc/withTheme.spec.d.ts.map +0 -1
  69. package/native/dist/dist/hooks/useTheme.d.ts +0 -4
  70. package/native/dist/dist/hooks/useTheme.d.ts.map +0 -1
  71. package/native/dist/dist/index-standalone.d.ts +0 -3
  72. package/native/dist/dist/index-standalone.d.ts.map +0 -1
  73. package/native/dist/dist/index.d.ts +0 -4
  74. package/native/dist/dist/index.d.ts.map +0 -1
  75. package/native/dist/dist/macro/index.d.ts +0 -3
  76. package/native/dist/dist/macro/index.d.ts.map +0 -1
  77. package/native/dist/dist/macro/test/babel.config.d.ts +0 -1
  78. package/native/dist/dist/macro/test/babel.config.d.ts.map +0 -1
  79. package/native/dist/dist/models/ComponentStyle.d.ts +0 -16
  80. package/native/dist/dist/models/ComponentStyle.d.ts.map +0 -1
  81. package/native/dist/dist/models/GlobalStyle.d.ts +0 -12
  82. package/native/dist/dist/models/GlobalStyle.d.ts.map +0 -1
  83. package/native/dist/dist/models/InlineStyle.d.ts +0 -7
  84. package/native/dist/dist/models/InlineStyle.d.ts.map +0 -1
  85. package/native/dist/dist/models/Keyframes.d.ts +0 -12
  86. package/native/dist/dist/models/Keyframes.d.ts.map +0 -1
  87. package/native/dist/dist/models/ServerStyleSheet.d.ts +0 -16
  88. package/native/dist/dist/models/ServerStyleSheet.d.ts.map +0 -1
  89. package/native/dist/dist/models/StyleSheetManager.d.ts +0 -22
  90. package/native/dist/dist/models/StyleSheetManager.d.ts.map +0 -1
  91. package/native/dist/dist/models/StyledComponent.d.ts +0 -4
  92. package/native/dist/dist/models/StyledComponent.d.ts.map +0 -1
  93. package/native/dist/dist/models/StyledNativeComponent.d.ts +0 -4
  94. package/native/dist/dist/models/StyledNativeComponent.d.ts.map +0 -1
  95. package/native/dist/dist/models/ThemeProvider.d.ts +0 -18
  96. package/native/dist/dist/models/ThemeProvider.d.ts.map +0 -1
  97. package/native/dist/dist/native/index.d.ts +0 -65
  98. package/native/dist/dist/native/index.d.ts.map +0 -1
  99. package/native/dist/dist/primitives/index.d.ts +0 -23
  100. package/native/dist/dist/primitives/index.d.ts.map +0 -1
  101. package/native/dist/dist/secretInternals.d.ts +0 -6
  102. package/native/dist/dist/secretInternals.d.ts.map +0 -1
  103. package/native/dist/dist/sheet/GroupIDAllocator.d.ts +0 -5
  104. package/native/dist/dist/sheet/GroupIDAllocator.d.ts.map +0 -1
  105. package/native/dist/dist/sheet/GroupedTag.d.ts +0 -12
  106. package/native/dist/dist/sheet/GroupedTag.d.ts.map +0 -1
  107. package/native/dist/dist/sheet/Rehydration.d.ts +0 -4
  108. package/native/dist/dist/sheet/Rehydration.d.ts.map +0 -1
  109. package/native/dist/dist/sheet/Sheet.d.ts +0 -41
  110. package/native/dist/dist/sheet/Sheet.d.ts.map +0 -1
  111. package/native/dist/dist/sheet/Tag.d.ts +0 -55
  112. package/native/dist/dist/sheet/Tag.d.ts.map +0 -1
  113. package/native/dist/dist/sheet/dom.d.ts +0 -5
  114. package/native/dist/dist/sheet/dom.d.ts.map +0 -1
  115. package/native/dist/dist/sheet/index.d.ts +0 -2
  116. package/native/dist/dist/sheet/index.d.ts.map +0 -1
  117. package/native/dist/dist/sheet/types.d.ts +0 -35
  118. package/native/dist/dist/sheet/types.d.ts.map +0 -1
  119. package/native/dist/dist/test/globals.d.ts +0 -3
  120. package/native/dist/dist/test/globals.d.ts.map +0 -1
  121. package/native/dist/dist/test/utils.d.ts +0 -192
  122. package/native/dist/dist/test/utils.d.ts.map +0 -1
  123. package/native/dist/dist/types.d.ts +0 -121
  124. package/native/dist/dist/types.d.ts.map +0 -1
  125. package/native/dist/dist/utils/addUnitIfNeeded.d.ts +0 -2
  126. package/native/dist/dist/utils/addUnitIfNeeded.d.ts.map +0 -1
  127. package/native/dist/dist/utils/checkDynamicCreation.d.ts +0 -2
  128. package/native/dist/dist/utils/checkDynamicCreation.d.ts.map +0 -1
  129. package/native/dist/dist/utils/createWarnTooManyClasses.d.ts +0 -4
  130. package/native/dist/dist/utils/createWarnTooManyClasses.d.ts.map +0 -1
  131. package/native/dist/dist/utils/determineTheme.d.ts +0 -3
  132. package/native/dist/dist/utils/determineTheme.d.ts.map +0 -1
  133. package/native/dist/dist/utils/domElements.d.ts +0 -3
  134. package/native/dist/dist/utils/domElements.d.ts.map +0 -1
  135. package/native/dist/dist/utils/empties.d.ts +0 -4
  136. package/native/dist/dist/utils/empties.d.ts.map +0 -1
  137. package/native/dist/dist/utils/error.d.ts +0 -6
  138. package/native/dist/dist/utils/error.d.ts.map +0 -1
  139. package/native/dist/dist/utils/errors.d.ts +0 -21
  140. package/native/dist/dist/utils/errors.d.ts.map +0 -1
  141. package/native/dist/dist/utils/escape.d.ts +0 -6
  142. package/native/dist/dist/utils/escape.d.ts.map +0 -1
  143. package/native/dist/dist/utils/flatten.d.ts +0 -5
  144. package/native/dist/dist/utils/flatten.d.ts.map +0 -1
  145. package/native/dist/dist/utils/generateAlphabeticName.d.ts +0 -2
  146. package/native/dist/dist/utils/generateAlphabeticName.d.ts.map +0 -1
  147. package/native/dist/dist/utils/generateComponentId.d.ts +0 -2
  148. package/native/dist/dist/utils/generateComponentId.d.ts.map +0 -1
  149. package/native/dist/dist/utils/generateDisplayName.d.ts +0 -3
  150. package/native/dist/dist/utils/generateDisplayName.d.ts.map +0 -1
  151. package/native/dist/dist/utils/getComponentName.d.ts +0 -3
  152. package/native/dist/dist/utils/getComponentName.d.ts.map +0 -1
  153. package/native/dist/dist/utils/hash.d.ts +0 -4
  154. package/native/dist/dist/utils/hash.d.ts.map +0 -1
  155. package/native/dist/dist/utils/hoist.d.ts +0 -52
  156. package/native/dist/dist/utils/hoist.d.ts.map +0 -1
  157. package/native/dist/dist/utils/hyphenateStyleName.d.ts +0 -15
  158. package/native/dist/dist/utils/hyphenateStyleName.d.ts.map +0 -1
  159. package/native/dist/dist/utils/interleave.d.ts +0 -3
  160. package/native/dist/dist/utils/interleave.d.ts.map +0 -1
  161. package/native/dist/dist/utils/isFunction.d.ts +0 -2
  162. package/native/dist/dist/utils/isFunction.d.ts.map +0 -1
  163. package/native/dist/dist/utils/isPlainObject.d.ts +0 -2
  164. package/native/dist/dist/utils/isPlainObject.d.ts.map +0 -1
  165. package/native/dist/dist/utils/isStatelessFunction.d.ts +0 -2
  166. package/native/dist/dist/utils/isStatelessFunction.d.ts.map +0 -1
  167. package/native/dist/dist/utils/isStaticRules.d.ts +0 -3
  168. package/native/dist/dist/utils/isStaticRules.d.ts.map +0 -1
  169. package/native/dist/dist/utils/isStyledComponent.d.ts +0 -3
  170. package/native/dist/dist/utils/isStyledComponent.d.ts.map +0 -1
  171. package/native/dist/dist/utils/isTag.d.ts +0 -3
  172. package/native/dist/dist/utils/isTag.d.ts.map +0 -1
  173. package/native/dist/dist/utils/joinStrings.d.ts +0 -5
  174. package/native/dist/dist/utils/joinStrings.d.ts.map +0 -1
  175. package/native/dist/dist/utils/mixinDeep.d.ts +0 -8
  176. package/native/dist/dist/utils/mixinDeep.d.ts.map +0 -1
  177. package/native/dist/dist/utils/nonce.d.ts +0 -2
  178. package/native/dist/dist/utils/nonce.d.ts.map +0 -1
  179. package/native/dist/dist/utils/stylis.d.ts +0 -10
  180. package/native/dist/dist/utils/stylis.d.ts.map +0 -1
  181. package/native/dist/hoc/withTheme.d.ts.map +0 -1
  182. package/native/dist/hoc/withTheme.spec.d.ts.map +0 -1
  183. package/native/dist/hooks/useTheme.d.ts.map +0 -1
  184. package/native/dist/index-standalone.d.ts.map +0 -1
  185. package/native/dist/index.d.ts.map +0 -1
  186. package/native/dist/macro/index.d.ts.map +0 -1
  187. package/native/dist/macro/test/babel.config.d.ts +0 -1
  188. package/native/dist/macro/test/babel.config.d.ts.map +0 -1
  189. package/native/dist/models/ComponentStyle.d.ts.map +0 -1
  190. package/native/dist/models/GlobalStyle.d.ts.map +0 -1
  191. package/native/dist/models/InlineStyle.d.ts.map +0 -1
  192. package/native/dist/models/Keyframes.d.ts.map +0 -1
  193. package/native/dist/models/ServerStyleSheet.d.ts.map +0 -1
  194. package/native/dist/models/StyleSheetManager.d.ts.map +0 -1
  195. package/native/dist/models/StyledComponent.d.ts.map +0 -1
  196. package/native/dist/models/StyledNativeComponent.d.ts.map +0 -1
  197. package/native/dist/models/ThemeProvider.d.ts.map +0 -1
  198. package/native/dist/native/index.d.ts.map +0 -1
  199. package/native/dist/primitives/index.d.ts +0 -23
  200. package/native/dist/primitives/index.d.ts.map +0 -1
  201. package/native/dist/secretInternals.d.ts.map +0 -1
  202. package/native/dist/sheet/GroupIDAllocator.d.ts.map +0 -1
  203. package/native/dist/sheet/GroupedTag.d.ts.map +0 -1
  204. package/native/dist/sheet/Rehydration.d.ts.map +0 -1
  205. package/native/dist/sheet/Sheet.d.ts.map +0 -1
  206. package/native/dist/sheet/Tag.d.ts.map +0 -1
  207. package/native/dist/sheet/dom.d.ts.map +0 -1
  208. package/native/dist/sheet/index.d.ts.map +0 -1
  209. package/native/dist/sheet/types.d.ts.map +0 -1
  210. package/native/dist/test/globals.d.ts.map +0 -1
  211. package/native/dist/test/utils.d.ts.map +0 -1
  212. package/native/dist/types.d.ts.map +0 -1
  213. package/native/dist/utils/addUnitIfNeeded.d.ts.map +0 -1
  214. package/native/dist/utils/checkDynamicCreation.d.ts.map +0 -1
  215. package/native/dist/utils/createWarnTooManyClasses.d.ts.map +0 -1
  216. package/native/dist/utils/determineTheme.d.ts.map +0 -1
  217. package/native/dist/utils/domElements.d.ts.map +0 -1
  218. package/native/dist/utils/empties.d.ts.map +0 -1
  219. package/native/dist/utils/error.d.ts.map +0 -1
  220. package/native/dist/utils/errors.d.ts.map +0 -1
  221. package/native/dist/utils/escape.d.ts.map +0 -1
  222. package/native/dist/utils/flatten.d.ts.map +0 -1
  223. package/native/dist/utils/generateAlphabeticName.d.ts.map +0 -1
  224. package/native/dist/utils/generateComponentId.d.ts.map +0 -1
  225. package/native/dist/utils/generateDisplayName.d.ts.map +0 -1
  226. package/native/dist/utils/getComponentName.d.ts.map +0 -1
  227. package/native/dist/utils/hash.d.ts.map +0 -1
  228. package/native/dist/utils/hoist.d.ts.map +0 -1
  229. package/native/dist/utils/hyphenateStyleName.d.ts.map +0 -1
  230. package/native/dist/utils/interleave.d.ts.map +0 -1
  231. package/native/dist/utils/isFunction.d.ts.map +0 -1
  232. package/native/dist/utils/isPlainObject.d.ts.map +0 -1
  233. package/native/dist/utils/isStatelessFunction.d.ts.map +0 -1
  234. package/native/dist/utils/isStaticRules.d.ts.map +0 -1
  235. package/native/dist/utils/isStyledComponent.d.ts.map +0 -1
  236. package/native/dist/utils/isTag.d.ts.map +0 -1
  237. package/native/dist/utils/joinStrings.d.ts.map +0 -1
  238. package/native/dist/utils/mixinDeep.d.ts.map +0 -1
  239. package/native/dist/utils/nonce.d.ts.map +0 -1
  240. package/native/dist/utils/stylis.d.ts.map +0 -1
@@ -8,7 +8,7 @@ var SC_ATTR = (typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR
8
8
  'data-styled';
9
9
  var SC_ATTR_ACTIVE = 'active';
10
10
  var SC_ATTR_VERSION = 'data-styled-version';
11
- var SC_VERSION = "6.0.0-beta.3";
11
+ var SC_VERSION = "6.0.0-beta.4";
12
12
  var SPLITTER = '/*!sc*/\n';
13
13
  var IS_BROWSER = typeof undefined !== 'undefined' ;
14
14
  var DISABLE_SPEEDY = Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'
@@ -437,8 +437,12 @@ function isStyledComponent(target) {
437
437
  /**
438
438
  * Convenience function for joining strings to form className chains
439
439
  */
440
- function joinStrings(a, b) {
441
- return a && b ? "".concat(a, " ").concat(b) : a || b;
440
+ function joinStrings() {
441
+ var args = [];
442
+ for (var _i = 0; _i < arguments.length; _i++) {
443
+ args[_i] = arguments[_i];
444
+ }
445
+ return args.filter(Boolean).join(' ');
442
446
  }
443
447
 
444
448
  function isPlainObject(x) {
@@ -477,7 +481,6 @@ function mixinRecursively(target, source, forceMerge) {
477
481
  * Source objects applied left to right. Mutates & returns target. Similar to lodash merge.
478
482
  */
479
483
  function mixinDeep(target) {
480
- if (target === void 0) { target = {}; }
481
484
  var sources = [];
482
485
  for (var _i = 1; _i < arguments.length; _i++) {
483
486
  sources[_i - 1] = arguments[_i];
@@ -1189,21 +1192,18 @@ function flatten(chunk, executionContext, styleSheet, stylisInstance) {
1189
1192
  var ruleSet = [];
1190
1193
  for (var i = 0, len = chunk.length, result = void 0; i < len; i += 1) {
1191
1194
  result = flatten(chunk[i], executionContext, styleSheet, stylisInstance);
1192
- if (result === '')
1195
+ if (result.length === 0)
1193
1196
  continue;
1194
- else if (Array.isArray(result))
1195
- ruleSet.push.apply(ruleSet, result);
1196
- else
1197
- ruleSet.push(result);
1197
+ ruleSet.push.apply(ruleSet, result);
1198
1198
  }
1199
1199
  return ruleSet;
1200
1200
  }
1201
1201
  if (isFalsish(chunk)) {
1202
- return '';
1202
+ return [];
1203
1203
  }
1204
1204
  /* Handle other components */
1205
1205
  if (isStyledComponent(chunk)) {
1206
- return ".".concat(chunk.styledComponentId);
1206
+ return [".".concat(chunk.styledComponentId)];
1207
1207
  }
1208
1208
  /* Either execute or defer the function */
1209
1209
  if (isFunction(chunk)) {
@@ -1220,19 +1220,21 @@ function flatten(chunk, executionContext, styleSheet, stylisInstance) {
1220
1220
  }
1221
1221
  return flatten(result, executionContext, styleSheet, stylisInstance);
1222
1222
  }
1223
- else
1224
- return chunk;
1223
+ else {
1224
+ return [chunk];
1225
+ }
1225
1226
  }
1226
1227
  if (chunk instanceof Keyframes) {
1227
1228
  if (styleSheet) {
1228
1229
  chunk.inject(styleSheet, stylisInstance);
1229
- return chunk.getName(stylisInstance);
1230
+ return [chunk.getName(stylisInstance)];
1231
+ }
1232
+ else {
1233
+ return [chunk];
1230
1234
  }
1231
- else
1232
- return chunk;
1233
1235
  }
1234
1236
  /* Handle objects */
1235
- return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();
1237
+ return isPlainObject(chunk) ? objToCssArray(chunk) : [chunk.toString()];
1236
1238
  }
1237
1239
 
1238
1240
  function isStaticRules(rules) {
@@ -1395,18 +1397,14 @@ function useStyledComponentImpl(forwardedComponent, props, forwardedRef, isStati
1395
1397
  var theme = determineTheme(props, useContext(ThemeContext), defaultProps) || EMPTY_OBJECT;
1396
1398
  var context = componentAttrs.reduce(function (p, attrDef) {
1397
1399
  var resolvedAttrDef = typeof attrDef === 'function' ? attrDef(p) : attrDef;
1398
- var key;
1399
1400
  /* eslint-disable guard-for-in */
1400
- for (key in resolvedAttrDef) {
1401
+ for (var key in resolvedAttrDef) {
1401
1402
  // @ts-expect-error bad types
1402
1403
  p[key] =
1403
1404
  key === 'className'
1404
- ? // @ts-expect-error bad types
1405
- joinStrings(p[key], resolvedAttrDef[key])
1405
+ ? joinStrings(p[key], resolvedAttrDef[key])
1406
1406
  : key === 'style'
1407
- ? // @ts-expect-error bad types
1408
- __assign(__assign({}, p[key]), resolvedAttrDef[key]) : // @ts-expect-error bad types
1409
- resolvedAttrDef[key];
1407
+ ? __assign(__assign({}, p[key]), resolvedAttrDef[key]) : resolvedAttrDef[key];
1410
1408
  }
1411
1409
  /* eslint-enable guard-for-in */
1412
1410
  return p;
@@ -1415,22 +1413,21 @@ function useStyledComponentImpl(forwardedComponent, props, forwardedRef, isStati
1415
1413
  var refToForward = forwardedRef;
1416
1414
  var elementToBeCreated = context.as || target;
1417
1415
  var isTargetTag = isTag(elementToBeCreated);
1416
+ var propsForElement = {};
1418
1417
  // eslint-disable-next-line guard-for-in
1419
1418
  for (var key in context) {
1420
- // @ts-expect-error type narrowing not working properly
1421
- if (key[0] === '$' || key === 'as' || key === 'theme')
1422
- context[key] = undefined;
1419
+ // @ts-expect-error for..in iterates strings instead of keyof
1420
+ if (context[key] === undefined) ;
1421
+ else if (key[0] === '$' || key === 'as' || key === 'theme') ;
1423
1422
  else if (key === 'forwardedAs') {
1424
- context.as = context[key];
1425
- context[key] = undefined;
1423
+ propsForElement.as = context.forwardedAs;
1426
1424
  }
1427
- else if (shouldForwardProp ? !shouldForwardProp(key, elementToBeCreated) : false) {
1428
- // Don't pass through non HTML tags through to HTML elements
1429
- // @ts-expect-error we don't know ahead of time
1430
- context[key] = undefined;
1425
+ else if (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {
1426
+ // @ts-expect-error for..in iterates strings instead of keyof
1427
+ propsForElement[key] = context[key];
1431
1428
  }
1432
1429
  }
1433
- context[
1430
+ propsForElement[
1434
1431
  // handle custom elements which React doesn't properly alias
1435
1432
  isTargetTag &&
1436
1433
  domElements.indexOf(elementToBeCreated) === -1
@@ -1439,9 +1436,8 @@ function useStyledComponentImpl(forwardedComponent, props, forwardedRef, isStati
1439
1436
  .concat(styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : '', context.className || '')
1440
1437
  .filter(Boolean)
1441
1438
  .join(' ');
1442
- // @ts-expect-error idk the type is probably wrong in this file
1443
- context.ref = refToForward;
1444
- return createElement(elementToBeCreated, context);
1439
+ propsForElement.ref = refToForward;
1440
+ return createElement(elementToBeCreated, propsForElement);
1445
1441
  }
1446
1442
  function createStyledComponent(target, options, rules) {
1447
1443
  var isTargetStyledComp = isStyledComponent(target);
@@ -1453,7 +1449,9 @@ function createStyledComponent(target, options, rules) {
1453
1449
  : options.componentId || componentId;
1454
1450
  // fold the underlying StyledComponent attrs up (implicit extend)
1455
1451
  var finalAttrs = isTargetStyledComp && styledComponentTarget.attrs
1456
- ? styledComponentTarget.attrs.concat(attrs).filter(Boolean)
1452
+ ? styledComponentTarget.attrs
1453
+ .concat(attrs)
1454
+ .filter(Boolean)
1457
1455
  : attrs;
1458
1456
  var shouldForwardProp = options.shouldForwardProp;
1459
1457
  if (isTargetStyledComp && styledComponentTarget.shouldForwardProp) {
@@ -1548,11 +1546,7 @@ function interleave(strings, interpolations) {
1548
1546
  * expand an array of styles.
1549
1547
  */
1550
1548
  var addTag = function (arg) {
1551
- if (Array.isArray(arg)) {
1552
- // eslint-disable-next-line no-param-reassign
1553
- arg.isCss = true;
1554
- }
1555
- return arg;
1549
+ return Object.assign(arg, { isCss: true });
1556
1550
  };
1557
1551
  function css(styles) {
1558
1552
  var interpolations = [];
@@ -1569,7 +1563,7 @@ function css(styles) {
1569
1563
  if (interpolations.length === 0 &&
1570
1564
  styleStringArray.length === 1 &&
1571
1565
  typeof styleStringArray[0] === 'string') {
1572
- return styleStringArray;
1566
+ return flatten(styleStringArray);
1573
1567
  }
1574
1568
  return addTag(flatten(interleave(styleStringArray, interpolations)));
1575
1569
  }