styled-components 2.1.1 → 2.2.1

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 (85) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/CODE_OF_CONDUCT.md +1 -1
  3. package/README.md +12 -67
  4. package/dist/styled-components.es.js +273 -110
  5. package/dist/styled-components.js +325 -119
  6. package/dist/styled-components.min.js +2 -2
  7. package/lib/hoc/withTheme.js +13 -7
  8. package/lib/models/BrowserStyleSheet.js +11 -0
  9. package/lib/models/ComponentStyle.js +45 -2
  10. package/lib/models/InlineStyle.js +1 -1
  11. package/lib/models/ServerStyleSheet.js +33 -17
  12. package/lib/models/StyleSheet.js +9 -0
  13. package/lib/models/StyledComponent.js +82 -38
  14. package/lib/models/StyledNativeComponent.js +31 -15
  15. package/lib/models/ThemeProvider.js +44 -12
  16. package/lib/native/index.js +1 -1
  17. package/lib/test/utils.js +5 -2
  18. package/lib/utils/create-broadcast.js +34 -24
  19. package/lib/utils/domElements.js +1 -1
  20. package/lib/utils/flatten.js +4 -1
  21. package/lib/utils/generateAlphabeticName.js +1 -1
  22. package/lib/utils/nonce.js +10 -0
  23. package/lib/utils/once.js +17 -0
  24. package/package.json +10 -10
  25. package/src/hoc/withTheme.js +14 -7
  26. package/src/models/BrowserStyleSheet.js +8 -0
  27. package/src/models/ComponentStyle.js +42 -2
  28. package/src/models/InlineStyle.js +1 -1
  29. package/src/models/ServerStyleSheet.js +27 -12
  30. package/src/models/StyleSheet.js +9 -0
  31. package/src/models/StyledComponent.js +81 -26
  32. package/src/models/StyledNativeComponent.js +30 -10
  33. package/src/models/ThemeProvider.js +38 -9
  34. package/src/models/test/ThemeProvider.test.js +7 -8
  35. package/src/native/index.js +1 -1
  36. package/src/native/test/native.test.js +14 -0
  37. package/src/test/__snapshots__/ssr.test.js.snap +147 -0
  38. package/src/test/expanded-api.test.js +24 -0
  39. package/src/test/props.test.js +14 -3
  40. package/src/test/ssr.test.js +90 -123
  41. package/src/test/styles.test.js +52 -0
  42. package/src/test/utils.js +5 -2
  43. package/src/utils/create-broadcast.js +31 -17
  44. package/src/utils/domElements.js +1 -0
  45. package/src/utils/flatten.js +16 -6
  46. package/src/utils/generateAlphabeticName.js +1 -1
  47. package/src/utils/nonce.js +6 -0
  48. package/src/utils/once.js +12 -0
  49. package/typings/styled-components.d.ts +15 -21
  50. package/typings/tests/issue1068.tsx +226 -0
  51. package/typings/tests/main-test.tsx +1 -1
  52. package/typings/tests/string-tags-test.tsx +62 -0
  53. package/typings/tests/themed-tests/issue1068.tsx +226 -0
  54. package/typings/tests/themed-tests/mytheme-styled-components.tsx +1 -1
  55. package/typings/tests/themed-tests/with-theme-test.tsx +2 -1
  56. package/typings/tests/with-theme-test.tsx +17 -0
  57. package/lib/constructors/test/injectGlobal.test.js +0 -63
  58. package/lib/constructors/test/keyframes.test.js +0 -48
  59. package/lib/constructors/test/styled.test.js +0 -19
  60. package/lib/models/AbstractStyledComponent.js +0 -43
  61. package/lib/models/test/ThemeProvider.test.js +0 -200
  62. package/lib/native/test/native.test.js +0 -290
  63. package/lib/no-parser/test/basic.test.js +0 -46
  64. package/lib/no-parser/test/flatten.test.js +0 -125
  65. package/lib/no-parser/test/keyframes.test.js +0 -45
  66. package/lib/primitives/test/primitives.test.js +0 -289
  67. package/lib/test/attrs.test.js +0 -158
  68. package/lib/test/basic.test.js +0 -267
  69. package/lib/test/css.test.js +0 -43
  70. package/lib/test/expanded-api.test.js +0 -90
  71. package/lib/test/extending.test.js +0 -198
  72. package/lib/test/overriding.test.js +0 -35
  73. package/lib/test/props.test.js +0 -38
  74. package/lib/test/rehydration.test.js +0 -306
  75. package/lib/test/ssr.test.js +0 -187
  76. package/lib/test/styles.test.js +0 -146
  77. package/lib/test/theme.test.js +0 -497
  78. package/lib/test/warnTooManyClasses.test.js +0 -71
  79. package/lib/utils/test/extractCompsFromCSS.test.js +0 -46
  80. package/lib/utils/test/flatten.test.js +0 -109
  81. package/lib/utils/test/generateAlphabeticName.test.js +0 -14
  82. package/lib/utils/test/interleave.test.js +0 -22
  83. package/lib/utils/test/validAttr.test.js +0 -560
  84. package/src/models/AbstractStyledComponent.js +0 -21
  85. package/typings/tags.d.ts +0 -137
package/typings/tags.d.ts DELETED
@@ -1,137 +0,0 @@
1
- export interface HTMLTags {
2
- a: HTMLAnchorElement;
3
- abbr: HTMLElement;
4
- address: HTMLElement;
5
- area: HTMLAreaElement;
6
- article: HTMLElement;
7
- aside: HTMLElement;
8
- audio: HTMLAudioElement;
9
- b: HTMLElement;
10
- base: HTMLBaseElement;
11
- bdi: HTMLElement;
12
- bdo: HTMLElement;
13
- big: HTMLElement;
14
- blockquote: HTMLElement;
15
- body: HTMLBodyElement;
16
- br: HTMLBRElement;
17
- button: HTMLButtonElement;
18
- canvas: HTMLCanvasElement;
19
- caption: HTMLElement;
20
- cite: HTMLElement;
21
- code: HTMLElement;
22
- col: HTMLTableColElement;
23
- colgroup: HTMLTableColElement;
24
- data: HTMLElement;
25
- datalist: HTMLDataListElement;
26
- dd: HTMLElement;
27
- del: HTMLElement;
28
- details: HTMLElement;
29
- dfn: HTMLElement;
30
- dialog: HTMLElement;
31
- div: HTMLDivElement;
32
- dl: HTMLDListElement;
33
- dt: HTMLElement;
34
- em: HTMLElement;
35
- embed: HTMLEmbedElement;
36
- fieldset: HTMLFieldSetElement;
37
- figcaption: HTMLElement;
38
- figure: HTMLElement;
39
- footer: HTMLElement;
40
- form: HTMLFormElement;
41
- h1: HTMLHeadingElement;
42
- h2: HTMLHeadingElement;
43
- h3: HTMLHeadingElement;
44
- h4: HTMLHeadingElement;
45
- h5: HTMLHeadingElement;
46
- h6: HTMLHeadingElement;
47
- head: HTMLHeadElement;
48
- header: HTMLElement;
49
- hgroup: HTMLElement;
50
- hr: HTMLHRElement;
51
- html: HTMLHtmlElement;
52
- i: HTMLElement;
53
- iframe: HTMLIFrameElement;
54
- img: HTMLImageElement;
55
- input: HTMLInputElement;
56
- ins: HTMLModElement;
57
- kbd: HTMLElement;
58
- keygen: HTMLElement;
59
- label: HTMLLabelElement;
60
- legend: HTMLLegendElement;
61
- li: HTMLLIElement;
62
- link: HTMLLinkElement;
63
- main: HTMLElement;
64
- map: HTMLMapElement;
65
- mark: HTMLElement;
66
- menu: HTMLElement;
67
- menuitem: HTMLElement;
68
- meta: HTMLMetaElement;
69
- meter: HTMLElement;
70
- nav: HTMLElement;
71
- noscript: HTMLElement;
72
- object: HTMLObjectElement;
73
- ol: HTMLOListElement;
74
- optgroup: HTMLOptGroupElement;
75
- option: HTMLOptionElement;
76
- output: HTMLElement;
77
- p: HTMLParagraphElement;
78
- param: HTMLParamElement;
79
- picture: HTMLElement;
80
- pre: HTMLPreElement;
81
- progress: HTMLProgressElement;
82
- q: HTMLQuoteElement;
83
- rp: HTMLElement;
84
- rt: HTMLElement;
85
- ruby: HTMLElement;
86
- s: HTMLElement;
87
- samp: HTMLElement;
88
- script: HTMLElement;
89
- section: HTMLElement;
90
- select: HTMLSelectElement;
91
- small: HTMLElement;
92
- source: HTMLSourceElement;
93
- span: HTMLSpanElement;
94
- strong: HTMLElement;
95
- style: HTMLStyleElement;
96
- sub: HTMLElement;
97
- summary: HTMLElement;
98
- sup: HTMLElement;
99
- table: HTMLTableElement;
100
- tbody: HTMLTableSectionElement;
101
- td: HTMLTableDataCellElement;
102
- textarea: HTMLTextAreaElement;
103
- tfoot: HTMLTableSectionElement;
104
- th: HTMLTableHeaderCellElement;
105
- thead: HTMLTableSectionElement;
106
- time: HTMLElement;
107
- title: HTMLTitleElement;
108
- tr: HTMLTableRowElement;
109
- track: HTMLTrackElement;
110
- u: HTMLElement;
111
- ul: HTMLUListElement;
112
- "var": HTMLElement;
113
- video: HTMLVideoElement;
114
- wbr: HTMLElement;
115
- }
116
-
117
- export interface SVGTags {
118
- circle: SVGCircleElement;
119
- clipPath: SVGClipPathElement;
120
- defs: SVGDefsElement;
121
- ellipse: SVGEllipseElement;
122
- g: SVGGElement;
123
- image: SVGImageElement;
124
- line: SVGLineElement;
125
- linearGradient: SVGLinearGradientElement;
126
- mask: SVGMaskElement;
127
- path: SVGPathElement;
128
- pattern: SVGPatternElement;
129
- polygon: SVGPolygonElement;
130
- polyline: SVGPolylineElement;
131
- radialGradient: SVGRadialGradientElement;
132
- rect: SVGRectElement;
133
- stop: SVGStopElement;
134
- svg: SVGSVGElement;
135
- text: SVGTextElement;
136
- tspan: SVGTSpanElement;
137
- }