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
@@ -12,7 +12,7 @@
12
12
  'data-styled';
13
13
  var SC_ATTR_ACTIVE = 'active';
14
14
  var SC_ATTR_VERSION = 'data-styled-version';
15
- var SC_VERSION = "6.0.0-beta.3";
15
+ var SC_VERSION = "6.0.0-beta.4";
16
16
  var SPLITTER = '/*!sc*/\n';
17
17
  var IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;
18
18
  var DISABLE_SPEEDY = Boolean(typeof SC_DISABLE_SPEEDY === 'boolean'
@@ -998,21 +998,18 @@
998
998
  var ruleSet = [];
999
999
  for (var i = 0, len = chunk.length, result = void 0; i < len; i += 1) {
1000
1000
  result = flatten(chunk[i], executionContext, styleSheet, stylisInstance);
1001
- if (result === '')
1001
+ if (result.length === 0)
1002
1002
  continue;
1003
- else if (Array.isArray(result))
1004
- ruleSet.push.apply(ruleSet, result);
1005
- else
1006
- ruleSet.push(result);
1003
+ ruleSet.push.apply(ruleSet, result);
1007
1004
  }
1008
1005
  return ruleSet;
1009
1006
  }
1010
1007
  if (isFalsish(chunk)) {
1011
- return '';
1008
+ return [];
1012
1009
  }
1013
1010
  /* Handle other components */
1014
1011
  if (isStyledComponent(chunk)) {
1015
- return ".".concat(chunk.styledComponentId);
1012
+ return [".".concat(chunk.styledComponentId)];
1016
1013
  }
1017
1014
  /* Either execute or defer the function */
1018
1015
  if (isFunction(chunk)) {
@@ -1028,19 +1025,21 @@
1028
1025
  }
1029
1026
  return flatten(result, executionContext, styleSheet, stylisInstance);
1030
1027
  }
1031
- else
1032
- return chunk;
1028
+ else {
1029
+ return [chunk];
1030
+ }
1033
1031
  }
1034
1032
  if (chunk instanceof Keyframes) {
1035
1033
  if (styleSheet) {
1036
1034
  chunk.inject(styleSheet, stylisInstance);
1037
- return chunk.getName(stylisInstance);
1035
+ return [chunk.getName(stylisInstance)];
1036
+ }
1037
+ else {
1038
+ return [chunk];
1038
1039
  }
1039
- else
1040
- return chunk;
1041
1040
  }
1042
1041
  /* Handle objects */
1043
- return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();
1042
+ return isPlainObject(chunk) ? objToCssArray(chunk) : [chunk.toString()];
1044
1043
  }
1045
1044
 
1046
1045
  function isStaticRules(rules) {
@@ -1208,11 +1207,7 @@
1208
1207
  * expand an array of styles.
1209
1208
  */
1210
1209
  var addTag = function (arg) {
1211
- if (Array.isArray(arg)) {
1212
- // eslint-disable-next-line no-param-reassign
1213
- arg.isCss = true;
1214
- }
1215
- return arg;
1210
+ return Object.assign(arg, { isCss: true });
1216
1211
  };
1217
1212
  function css(styles) {
1218
1213
  var interpolations = [];
@@ -1229,7 +1224,7 @@
1229
1224
  if (interpolations.length === 0 &&
1230
1225
  styleStringArray.length === 1 &&
1231
1226
  typeof styleStringArray[0] === 'string') {
1232
- return styleStringArray;
1227
+ return flatten(styleStringArray);
1233
1228
  }
1234
1229
  return addTag(flatten(interleave(styleStringArray, interpolations)));
1235
1230
  }
@@ -1723,8 +1718,12 @@
1723
1718
  /**
1724
1719
  * Convenience function for joining strings to form className chains
1725
1720
  */
1726
- function joinStrings(a, b) {
1727
- return a && b ? "".concat(a, " ").concat(b) : a || b;
1721
+ function joinStrings() {
1722
+ var args = [];
1723
+ for (var _i = 0; _i < arguments.length; _i++) {
1724
+ args[_i] = arguments[_i];
1725
+ }
1726
+ return args.filter(Boolean).join(' ');
1728
1727
  }
1729
1728
 
1730
1729
  function mixinRecursively(target, source, forceMerge) {
@@ -1752,7 +1751,6 @@
1752
1751
  * Source objects applied left to right. Mutates & returns target. Similar to lodash merge.
1753
1752
  */
1754
1753
  function mixinDeep(target) {
1755
- if (target === void 0) { target = {}; }
1756
1754
  var sources = [];
1757
1755
  for (var _i = 1; _i < arguments.length; _i++) {
1758
1756
  sources[_i - 1] = arguments[_i];
@@ -1875,18 +1873,14 @@
1875
1873
  var theme = determineTheme(props, React.useContext(ThemeContext), defaultProps) || EMPTY_OBJECT;
1876
1874
  var context = componentAttrs.reduce(function (p, attrDef) {
1877
1875
  var resolvedAttrDef = typeof attrDef === 'function' ? attrDef(p) : attrDef;
1878
- var key;
1879
1876
  /* eslint-disable guard-for-in */
1880
- for (key in resolvedAttrDef) {
1877
+ for (var key in resolvedAttrDef) {
1881
1878
  // @ts-expect-error bad types
1882
1879
  p[key] =
1883
1880
  key === 'className'
1884
- ? // @ts-expect-error bad types
1885
- joinStrings(p[key], resolvedAttrDef[key])
1881
+ ? joinStrings(p[key], resolvedAttrDef[key])
1886
1882
  : key === 'style'
1887
- ? // @ts-expect-error bad types
1888
- __assign(__assign({}, p[key]), resolvedAttrDef[key]) : // @ts-expect-error bad types
1889
- resolvedAttrDef[key];
1883
+ ? __assign(__assign({}, p[key]), resolvedAttrDef[key]) : resolvedAttrDef[key];
1890
1884
  }
1891
1885
  /* eslint-enable guard-for-in */
1892
1886
  return p;
@@ -1895,22 +1889,21 @@
1895
1889
  var refToForward = forwardedRef;
1896
1890
  var elementToBeCreated = context.as || target;
1897
1891
  var isTargetTag = isTag(elementToBeCreated);
1892
+ var propsForElement = {};
1898
1893
  // eslint-disable-next-line guard-for-in
1899
1894
  for (var key in context) {
1900
- // @ts-expect-error type narrowing not working properly
1901
- if (key[0] === '$' || key === 'as' || key === 'theme')
1902
- context[key] = undefined;
1895
+ // @ts-expect-error for..in iterates strings instead of keyof
1896
+ if (context[key] === undefined) ;
1897
+ else if (key[0] === '$' || key === 'as' || key === 'theme') ;
1903
1898
  else if (key === 'forwardedAs') {
1904
- context.as = context[key];
1905
- context[key] = undefined;
1899
+ propsForElement.as = context.forwardedAs;
1906
1900
  }
1907
- else if (shouldForwardProp ? !shouldForwardProp(key, elementToBeCreated) : false) {
1908
- // Don't pass through non HTML tags through to HTML elements
1909
- // @ts-expect-error we don't know ahead of time
1910
- context[key] = undefined;
1901
+ else if (!shouldForwardProp || shouldForwardProp(key, elementToBeCreated)) {
1902
+ // @ts-expect-error for..in iterates strings instead of keyof
1903
+ propsForElement[key] = context[key];
1911
1904
  }
1912
1905
  }
1913
- context[
1906
+ propsForElement[
1914
1907
  // handle custom elements which React doesn't properly alias
1915
1908
  isTargetTag &&
1916
1909
  domElements.indexOf(elementToBeCreated) === -1
@@ -1919,9 +1912,8 @@
1919
1912
  .concat(styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : '', context.className || '')
1920
1913
  .filter(Boolean)
1921
1914
  .join(' ');
1922
- // @ts-expect-error idk the type is probably wrong in this file
1923
- context.ref = refToForward;
1924
- return React.createElement(elementToBeCreated, context);
1915
+ propsForElement.ref = refToForward;
1916
+ return React.createElement(elementToBeCreated, propsForElement);
1925
1917
  }
1926
1918
  function createStyledComponent(target, options, rules) {
1927
1919
  var isTargetStyledComp = isStyledComponent(target);
@@ -1933,7 +1925,9 @@
1933
1925
  : options.componentId || componentId;
1934
1926
  // fold the underlying StyledComponent attrs up (implicit extend)
1935
1927
  var finalAttrs = isTargetStyledComp && styledComponentTarget.attrs
1936
- ? styledComponentTarget.attrs.concat(attrs).filter(Boolean)
1928
+ ? styledComponentTarget.attrs
1929
+ .concat(attrs)
1930
+ .filter(Boolean)
1937
1931
  : attrs;
1938
1932
  var shouldForwardProp = options.shouldForwardProp;
1939
1933
  if (isTargetStyledComp && styledComponentTarget.shouldForwardProp) {