@compiled/react 0.10.4 → 0.11.0
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.
- package/dist/browser/class-names/index.d.ts +11 -5
- package/dist/browser/class-names/index.js.flow +29 -20
- package/dist/browser/class-names/index.js.map +1 -1
- package/dist/browser/css/index.d.ts +3 -3
- package/dist/browser/css/index.js.flow +24 -23
- package/dist/browser/css/index.js.map +1 -1
- package/dist/browser/index.d.ts +2 -3
- package/dist/browser/index.js.flow +4 -7
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/jsx/jsx-local-namespace.d.ts +2 -2
- package/dist/browser/keyframes/index.d.ts +1 -1
- package/dist/browser/keyframes/index.js.flow +25 -31
- package/dist/browser/runtime/ax.js.flow +1 -1
- package/dist/browser/runtime/cache.js.flow +1 -1
- package/dist/browser/runtime/css-custom-property.js.flow +1 -1
- package/dist/browser/runtime/dev-warnings.js.flow +1 -1
- package/dist/browser/runtime/index.js.flow +1 -1
- package/dist/browser/runtime/{is-node.d.ts → is-server-environment.d.ts} +2 -2
- package/dist/browser/runtime/is-server-environment.js +31 -0
- package/dist/{cjs/runtime/is-node.js.flow → browser/runtime/is-server-environment.js.flow} +4 -4
- package/dist/browser/runtime/is-server-environment.js.map +1 -0
- package/dist/browser/runtime/sheet.js.flow +1 -1
- package/dist/browser/runtime/style-cache.js +1 -1
- package/dist/browser/runtime/style-cache.js.flow +1 -1
- package/dist/browser/runtime/style-cache.js.map +1 -1
- package/dist/browser/runtime/style.js +1 -1
- package/dist/browser/runtime/style.js.flow +1 -1
- package/dist/browser/runtime/style.js.map +1 -1
- package/dist/browser/runtime/types.js.flow +2 -2
- package/dist/browser/runtime.js.flow +1 -1
- package/dist/browser/styled/index.d.ts +10 -23
- package/dist/browser/styled/index.js.flow +45 -46
- package/dist/browser/styled/index.js.map +1 -1
- package/dist/browser/types.d.ts +9 -5
- package/dist/browser/types.js.flow +13 -10
- package/dist/browser/utils/error.js.flow +1 -1
- package/dist/cjs/class-names/index.d.ts +11 -5
- package/dist/cjs/class-names/index.js.flow +29 -20
- package/dist/cjs/class-names/index.js.map +1 -1
- package/dist/cjs/css/index.d.ts +3 -3
- package/dist/cjs/css/index.js.flow +24 -23
- package/dist/cjs/css/index.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -3
- package/dist/cjs/index.js.flow +4 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jsx/jsx-local-namespace.d.ts +2 -2
- package/dist/cjs/keyframes/index.d.ts +1 -1
- package/dist/cjs/keyframes/index.js.flow +25 -31
- package/dist/cjs/runtime/ax.js.flow +1 -1
- package/dist/cjs/runtime/cache.js.flow +1 -1
- package/dist/cjs/runtime/css-custom-property.js.flow +1 -1
- package/dist/cjs/runtime/dev-warnings.js.flow +1 -1
- package/dist/cjs/runtime/index.js.flow +1 -1
- package/dist/{esm/runtime/is-node.d.ts → cjs/runtime/is-server-environment.d.ts} +2 -2
- package/dist/cjs/runtime/is-server-environment.js +35 -0
- package/dist/{esm/runtime/is-node.js.flow → cjs/runtime/is-server-environment.js.flow} +4 -4
- package/dist/cjs/runtime/is-server-environment.js.map +1 -0
- package/dist/cjs/runtime/sheet.js.flow +1 -1
- package/dist/cjs/runtime/style-cache.js +5 -5
- package/dist/cjs/runtime/style-cache.js.flow +1 -1
- package/dist/cjs/runtime/style-cache.js.map +1 -1
- package/dist/cjs/runtime/style.js +2 -2
- package/dist/cjs/runtime/style.js.flow +1 -1
- package/dist/cjs/runtime/style.js.map +1 -1
- package/dist/cjs/runtime/types.js.flow +2 -2
- package/dist/cjs/runtime.js.flow +1 -1
- package/dist/cjs/styled/index.d.ts +10 -23
- package/dist/cjs/styled/index.js.flow +45 -46
- package/dist/cjs/styled/index.js.map +1 -1
- package/dist/cjs/types.d.ts +9 -5
- package/dist/cjs/types.js.flow +13 -10
- package/dist/cjs/utils/error.js.flow +1 -1
- package/dist/esm/class-names/index.d.ts +11 -5
- package/dist/esm/class-names/index.js.flow +29 -20
- package/dist/esm/class-names/index.js.map +1 -1
- package/dist/esm/css/index.d.ts +3 -3
- package/dist/esm/css/index.js.flow +24 -23
- package/dist/esm/css/index.js.map +1 -1
- package/dist/esm/index.d.ts +2 -3
- package/dist/esm/index.js.flow +4 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jsx/jsx-local-namespace.d.ts +2 -2
- package/dist/esm/keyframes/index.d.ts +1 -1
- package/dist/esm/keyframes/index.js.flow +25 -31
- package/dist/esm/runtime/ax.js.flow +1 -1
- package/dist/esm/runtime/cache.js.flow +1 -1
- package/dist/esm/runtime/css-custom-property.js.flow +1 -1
- package/dist/esm/runtime/dev-warnings.js.flow +1 -1
- package/dist/esm/runtime/index.js.flow +1 -1
- package/dist/{cjs/runtime/is-node.d.ts → esm/runtime/is-server-environment.d.ts} +2 -2
- package/dist/esm/runtime/is-server-environment.js +31 -0
- package/dist/{browser/runtime/is-node.js.flow → esm/runtime/is-server-environment.js.flow} +4 -4
- package/dist/esm/runtime/is-server-environment.js.map +1 -0
- package/dist/esm/runtime/sheet.js.flow +1 -1
- package/dist/esm/runtime/style-cache.js +5 -5
- package/dist/esm/runtime/style-cache.js.flow +1 -1
- package/dist/esm/runtime/style-cache.js.map +1 -1
- package/dist/esm/runtime/style.js +2 -2
- package/dist/esm/runtime/style.js.flow +1 -1
- package/dist/esm/runtime/style.js.map +1 -1
- package/dist/esm/runtime/types.js.flow +2 -2
- package/dist/esm/runtime.js.flow +1 -1
- package/dist/esm/styled/index.d.ts +10 -23
- package/dist/esm/styled/index.js.flow +45 -46
- package/dist/esm/styled/index.js.map +1 -1
- package/dist/esm/types.d.ts +9 -5
- package/dist/esm/types.js.flow +13 -10
- package/dist/esm/utils/error.js.flow +1 -1
- package/package.json +4 -4
- package/src/__tests__/browser.test.tsx +4 -0
- package/src/__tests__/server-side-hydrate.test.tsx +2 -2
- package/src/class-names/__tests__/types.test.js.flow +10 -3
- package/src/class-names/index.js.flow +29 -20
- package/src/class-names/index.ts +15 -9
- package/src/css/__tests__/types.test.js.flow +25 -0
- package/src/css/index.js.flow +24 -23
- package/src/css/index.ts +9 -14
- package/src/index.js.flow +4 -7
- package/src/index.ts +3 -4
- package/src/jsx/jsx-local-namespace.ts +2 -2
- package/src/keyframes/__tests__/index.test.tsx +4 -0
- package/src/keyframes/index.js.flow +25 -31
- package/src/keyframes/index.ts +1 -1
- package/src/runtime/__tests__/style.test.tsx +4 -0
- package/src/runtime/ax.js.flow +1 -1
- package/src/runtime/cache.js.flow +1 -1
- package/src/runtime/css-custom-property.js.flow +1 -1
- package/src/runtime/dev-warnings.js.flow +1 -1
- package/src/runtime/index.js.flow +1 -1
- package/src/runtime/{is-node.js.flow → is-server-environment.js.flow} +4 -4
- package/src/runtime/is-server-environment.ts +29 -0
- package/src/runtime/sheet.js.flow +1 -1
- package/src/runtime/style-cache.js.flow +1 -1
- package/src/runtime/style-cache.tsx +5 -5
- package/src/runtime/style.js.flow +1 -1
- package/src/runtime/style.tsx +2 -2
- package/src/runtime/types.js.flow +2 -2
- package/src/runtime.js.flow +1 -1
- package/src/styled/__tests__/index.test.tsx +1 -1
- package/src/styled/__tests__/types.test.js.flow +65 -11
- package/src/styled/index.js.flow +45 -46
- package/src/styled/index.ts +21 -39
- package/src/types.js.flow +13 -10
- package/src/types.ts +19 -11
- package/src/utils/error.js.flow +1 -1
- package/dist/browser/runtime/is-node.js +0 -16
- package/dist/browser/runtime/is-node.js.map +0 -1
- package/dist/cjs/runtime/is-node.js +0 -20
- package/dist/cjs/runtime/is-node.js.map +0 -1
- package/dist/esm/runtime/is-node.js +0 -16
- package/dist/esm/runtime/is-node.js.map +0 -1
- package/src/runtime/is-node.ts +0 -15
|
@@ -188,7 +188,7 @@ describe('styled component', () => {
|
|
|
188
188
|
expect(ref).toHaveProperty('tagName', 'A');
|
|
189
189
|
});
|
|
190
190
|
|
|
191
|
-
it('should
|
|
191
|
+
it('should override the underlying markup with a span', () => {
|
|
192
192
|
const Heading = styled.h1`
|
|
193
193
|
color: red;
|
|
194
194
|
`;
|
|
@@ -1,30 +1,84 @@
|
|
|
1
1
|
// @flow strict-local
|
|
2
|
-
import React, { type Node } from 'react';
|
|
3
|
-
import { styled, type
|
|
2
|
+
import React, { type Node, type Element } from 'react';
|
|
3
|
+
import { styled, type CssType } from '@compiled/react';
|
|
4
4
|
|
|
5
5
|
// Tagged template expression
|
|
6
6
|
() => {
|
|
7
|
-
const
|
|
7
|
+
const StyledComponent = styled.div`
|
|
8
8
|
font-size: 12px;
|
|
9
9
|
`;
|
|
10
|
-
return <
|
|
10
|
+
return <StyledComponent>red text</StyledComponent>;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// Tagged template expression with conditional
|
|
14
|
+
() => {
|
|
15
|
+
const StyledComponent = styled.div`
|
|
16
|
+
font-size: ${({ big }) => (big ? big : 12)}px;
|
|
17
|
+
`;
|
|
18
|
+
return <StyledComponent big>red text</StyledComponent>;
|
|
11
19
|
};
|
|
12
20
|
|
|
13
21
|
// Object call expression
|
|
14
22
|
() => {
|
|
15
|
-
const
|
|
16
|
-
|
|
23
|
+
const StyledComponent = styled.div<{ big: number, children: Node }>({
|
|
24
|
+
fontSize: (props: { big: number, children: Node }): number => (props.big == 5 ? 50 : 10),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
return <StyledComponent big={5}>red text</StyledComponent>;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// Object call expression with no props
|
|
31
|
+
() => {
|
|
32
|
+
const StyledComponent = styled.div({
|
|
33
|
+
wordBreak: 'break-word',
|
|
34
|
+
position: 'relative',
|
|
35
|
+
left: `${2 - 2}px`,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return <StyledComponent>red text</StyledComponent>;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// Object call expression with conditional
|
|
42
|
+
() => {
|
|
43
|
+
const StyledComponent = styled.div<{ big: number, children: Node }>({
|
|
44
|
+
fontSize: ({ big }) => `${big ? 50 : 12}px`,
|
|
45
|
+
width: ({ big }) => (big ? 500 : 120),
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
return <StyledComponent big={5}>red text</StyledComponent>;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// Object call expression with logical operator expression
|
|
52
|
+
() => {
|
|
53
|
+
// Type defined as constant so we test the type without sketchy null check errors
|
|
54
|
+
const StyledComponent = styled.div<{ big?: 5000, children: Node }>(
|
|
55
|
+
{
|
|
56
|
+
fontSize: ({ big }) => `${big || 50}px`,
|
|
57
|
+
width: ({ big }) => big && 500,
|
|
58
|
+
},
|
|
59
|
+
({ big }) => big && { height: '100px' }
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
return <StyledComponent big={5000}>red text</StyledComponent>;
|
|
17
63
|
};
|
|
18
64
|
|
|
19
65
|
// Array
|
|
20
66
|
() => {
|
|
21
|
-
const styles:
|
|
22
|
-
const
|
|
23
|
-
return <
|
|
67
|
+
const styles: CssType<{ fontSize: number, children: Node }>[] = [{ fontSize: '12px' }];
|
|
68
|
+
const StyledComponent = styled.div(styles);
|
|
69
|
+
return <StyledComponent fontSize={50}>red text</StyledComponent>;
|
|
24
70
|
};
|
|
25
71
|
|
|
26
72
|
// Multiple arguments
|
|
27
73
|
() => {
|
|
28
|
-
const
|
|
29
|
-
return <
|
|
74
|
+
const StyledComponent = styled.div({ fontSize: 12 }, `font-size: 12px`);
|
|
75
|
+
return <StyledComponent>red text</StyledComponent>;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// Dynamic function calls
|
|
79
|
+
() => {
|
|
80
|
+
const StyledComponent = styled.div({
|
|
81
|
+
backgroundColor: token('elevation.surface', 'black'),
|
|
82
|
+
zIndex: layers.modal(),
|
|
83
|
+
});
|
|
30
84
|
};
|
package/src/styled/index.js.flow
CHANGED
|
@@ -1,69 +1,68 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Flowtype definitions for index
|
|
3
3
|
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.
|
|
4
|
+
* Flowgen v1.17.0
|
|
5
5
|
* @flow
|
|
6
6
|
*/
|
|
7
7
|
import type { ComponentType } from 'react';
|
|
8
|
-
import type {
|
|
9
|
-
/**
|
|
10
|
-
* Typing for the CSS object.
|
|
11
|
-
*/
|
|
12
|
-
export type CssObject<TProps> = CssFunction<FunctionInterpolation<TProps>>;
|
|
8
|
+
import type { CssType, CssFunction } from '../types';
|
|
13
9
|
/**
|
|
14
10
|
* Extra props added to the output Styled Component.
|
|
15
11
|
*/
|
|
16
12
|
export type StyledProps = {
|
|
17
13
|
as?: $Keys<$JSXIntrinsics>,
|
|
18
14
|
};
|
|
19
|
-
export type
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
export interface StyledFunctionFromTag<TTag: $Keys<$JSXIntrinsics>> {
|
|
31
|
-
<TProps: mixed>(
|
|
32
|
-
css: CssObject<TProps> | $ReadOnlyArray<CssObject<TProps>>,
|
|
33
|
-
...interpolations: Interpolations<TProps>
|
|
34
|
-
): React$ComponentType<{
|
|
35
|
-
...TProps,
|
|
36
|
-
...$Exact<$ElementType<$JSXIntrinsics, TTag>>,
|
|
37
|
-
...StyledProps,
|
|
38
|
-
}>;
|
|
39
|
-
}
|
|
40
|
-
export interface StyledFunctionFromComponent<TInheritedProps: mixed> {
|
|
41
|
-
<TProps: mixed>(
|
|
42
|
-
css: CssObject<TProps> | $ReadOnlyArray<string>,
|
|
43
|
-
...interpolations: Interpolations<TProps>
|
|
44
|
-
): React$ComponentType<{ ...TProps, ...StyledProps, ...TInheritedProps }>;
|
|
15
|
+
export type ObjectInterpolation<TProps> = CssType<TProps> | CssType<TProps>[];
|
|
16
|
+
export type TemplateStringsInterpolation<TProps> = CssFunction<TProps> | CssFunction<TProps>[];
|
|
17
|
+
export interface StyledComponent<ComponentProps: mixed> {
|
|
18
|
+
<TProps>(
|
|
19
|
+
...css: ObjectInterpolation<TProps>[]
|
|
20
|
+
): React$ComponentType<{ ...TProps, ...ComponentProps, ...StyledProps }>;
|
|
21
|
+
<TProps>(
|
|
22
|
+
template: $ReadOnlyArray<string>,
|
|
23
|
+
...interpolations: TemplateStringsInterpolation<TProps>[]
|
|
24
|
+
): React$ComponentType<{ ...TProps, ...ComponentProps, ...StyledProps }>;
|
|
45
25
|
}
|
|
46
|
-
export type StyledComponentMap = $ObjMapi<$JSXIntrinsics, <Tag>(Tag) =>
|
|
47
|
-
export type
|
|
48
|
-
/**
|
|
49
|
-
* Typing to enable consumers to compose components, e.g: `styled(Component)`
|
|
50
|
-
*/
|
|
26
|
+
export type StyledComponentMap = $ObjMapi<$JSXIntrinsics, <Tag>(Tag) => StyledComponent<mixed>>;
|
|
27
|
+
export type CreateStyledComponent = {
|
|
51
28
|
<TInheritedProps: mixed>(
|
|
52
29
|
Component: ComponentType<TInheritedProps>
|
|
53
|
-
):
|
|
30
|
+
): StyledComponent<TInheritedProps>,
|
|
54
31
|
...
|
|
55
32
|
} & StyledComponentMap;
|
|
56
33
|
/**
|
|
57
|
-
*
|
|
34
|
+
* ## Styled component
|
|
58
35
|
*
|
|
36
|
+
* Create a component that styles a JSX element which comes with built-in behavior such as `ref` and `as` prop support.
|
|
37
|
+
* For further details [read the documentation](https://compiledcssinjs.com/docs/api-styled).
|
|
38
|
+
*
|
|
39
|
+
* ### Style with objects
|
|
40
|
+
* @example ```
|
|
41
|
+
* styled.div({
|
|
42
|
+
* fontSize: 12,
|
|
43
|
+
* });
|
|
59
44
|
* ```
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* styled.div
|
|
45
|
+
*
|
|
46
|
+
* ### Style with template literals
|
|
47
|
+
* @example ```
|
|
48
|
+
* styled.div`
|
|
49
|
+
* font-size: 12px
|
|
50
|
+
* `;
|
|
64
51
|
* ```
|
|
65
52
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
53
|
+
* ### Compose styles with arrays
|
|
54
|
+
* @example ```
|
|
55
|
+
* import type { css } from '@compiled/react';
|
|
56
|
+
*
|
|
57
|
+
* styled.div([
|
|
58
|
+
* { fontSize: 12 },
|
|
59
|
+
* css`font-size: 12px;`
|
|
60
|
+
* ]);
|
|
61
|
+
*
|
|
62
|
+
* styled.div(
|
|
63
|
+
* { fontSize: 12 },
|
|
64
|
+
* css`font-size: 12px`
|
|
65
|
+
* );
|
|
66
|
+
* ```
|
|
68
67
|
*/
|
|
69
|
-
declare export var styled:
|
|
68
|
+
declare export var styled: CreateStyledComponent;
|
package/src/styled/index.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import type { ComponentType } from 'react';
|
|
2
2
|
|
|
3
|
-
import type {
|
|
3
|
+
import type { CssType, CssFunction } from '../types';
|
|
4
4
|
import { createSetupError } from '../utils/error';
|
|
5
5
|
|
|
6
|
-
/**
|
|
7
|
-
* Typing for the CSS object.
|
|
8
|
-
*/
|
|
9
|
-
export type CssObject<TProps> = CssFunction<FunctionInterpolation<TProps>>;
|
|
10
|
-
|
|
11
6
|
/**
|
|
12
7
|
* Extra props added to the output Styled Component.
|
|
13
8
|
*/
|
|
@@ -15,46 +10,33 @@ export interface StyledProps {
|
|
|
15
10
|
as?: keyof JSX.IntrinsicElements;
|
|
16
11
|
}
|
|
17
12
|
|
|
18
|
-
export type
|
|
19
|
-
|
|
20
|
-
| FunctionInterpolation<TProps>
|
|
21
|
-
| CssObject<TProps>
|
|
22
|
-
| CssObject<TProps>[]
|
|
23
|
-
)[];
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* This allows us to take the generic `TTag` (that will be a valid `DOM` tag) and then use it to
|
|
27
|
-
* define correct props based on it from `JSX.IntrinsicElements`, while also injecting our own
|
|
28
|
-
* props from `StyledProps`.
|
|
29
|
-
*/
|
|
30
|
-
export interface StyledFunctionFromTag<TTag extends keyof JSX.IntrinsicElements> {
|
|
31
|
-
<TProps extends unknown>(
|
|
32
|
-
// Allows either string or object (`` or ({}))
|
|
33
|
-
css: CssObject<TProps> | CssObject<TProps>[],
|
|
34
|
-
...interpolations: Interpolations<TProps>
|
|
35
|
-
): React.ComponentType<TProps & JSX.IntrinsicElements[TTag] & StyledProps>;
|
|
36
|
-
}
|
|
13
|
+
export type ObjectInterpolation<TProps> = CssType<TProps> | CssType<TProps>[];
|
|
14
|
+
export type TemplateStringsInterpolation<TProps> = CssFunction<TProps> | CssFunction<TProps>[];
|
|
37
15
|
|
|
38
|
-
export interface
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
16
|
+
export interface StyledComponent<ComponentProps extends unknown> {
|
|
17
|
+
// Allows either string or object (`` or ({}))
|
|
18
|
+
// We disable the ban types rule here as we need to join the empty object default with other props
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
20
|
+
<TProps = {}>(...css: ObjectInterpolation<TProps>[]): React.ComponentType<
|
|
21
|
+
TProps & ComponentProps & StyledProps
|
|
22
|
+
>;
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
24
|
+
<TProps = {}>(
|
|
25
|
+
template: TemplateStringsArray,
|
|
26
|
+
...interpolations: TemplateStringsInterpolation<TProps>[]
|
|
27
|
+
): React.ComponentType<TProps & ComponentProps & StyledProps>;
|
|
44
28
|
}
|
|
45
29
|
|
|
30
|
+
// This creates the DOM element types for `styled.tag`, e.g. `span`, `div`, `h1`, etc.
|
|
46
31
|
export type StyledComponentMap = {
|
|
47
|
-
|
|
48
|
-
[Tag in keyof JSX.IntrinsicElements]: StyledFunctionFromTag<Tag>;
|
|
32
|
+
[Tag in keyof JSX.IntrinsicElements]: StyledComponent<JSX.IntrinsicElements[Tag]>;
|
|
49
33
|
};
|
|
50
34
|
|
|
51
|
-
export interface
|
|
52
|
-
|
|
53
|
-
* Typing to enable consumers to compose components, e.g: `styled(Component)`
|
|
54
|
-
*/
|
|
35
|
+
export interface CreateStyledComponent extends StyledComponentMap {
|
|
36
|
+
// Typing to enable consumers to compose components, e.g: `styled(Component)`
|
|
55
37
|
<TInheritedProps extends unknown>(
|
|
56
38
|
Component: ComponentType<TInheritedProps>
|
|
57
|
-
):
|
|
39
|
+
): StyledComponent<TInheritedProps>;
|
|
58
40
|
}
|
|
59
41
|
|
|
60
42
|
/**
|
|
@@ -98,7 +80,7 @@ export interface StyledComponentInstantiator extends StyledComponentMap {
|
|
|
98
80
|
* );
|
|
99
81
|
* ```
|
|
100
82
|
*/
|
|
101
|
-
export const styled:
|
|
83
|
+
export const styled: CreateStyledComponent = new Proxy(
|
|
102
84
|
{},
|
|
103
85
|
{
|
|
104
86
|
get() {
|
package/src/types.js.flow
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Flowtype definitions for types
|
|
3
3
|
* Generated by Flowgen from a Typescript Definition
|
|
4
|
-
* Flowgen v1.
|
|
4
|
+
* Flowgen v1.17.0
|
|
5
5
|
* @flow
|
|
6
6
|
*/
|
|
7
7
|
import * as CSS from 'csstype';
|
|
@@ -10,20 +10,23 @@ import * as CSS from 'csstype';
|
|
|
10
10
|
*/
|
|
11
11
|
export type BasicTemplateInterpolations = string | number;
|
|
12
12
|
export interface FunctionInterpolation<TProps> {
|
|
13
|
-
(props: TProps):
|
|
13
|
+
(props: TProps): CssFunction<TProps>;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Possible types for a CSS value
|
|
17
|
+
*/
|
|
18
|
+
export type CssType<TProps> = CssObject<TProps> | FunctionInterpolation<TProps> | string;
|
|
15
19
|
/**
|
|
16
20
|
* These are all the CSS props that will exist.
|
|
17
21
|
*/
|
|
18
|
-
export type CSSProps = CSS.Properties<
|
|
19
|
-
export type
|
|
20
|
-
|
|
22
|
+
export type CSSProps<TProps> = CSS.Properties<CssFunction<TProps>>;
|
|
23
|
+
export type CssObject<TProps> = {
|
|
24
|
+
...CSSProps<TProps>,
|
|
25
|
+
[key: string]: CssFunction<TProps>,
|
|
21
26
|
...
|
|
22
27
|
};
|
|
23
|
-
export type CssFunction<
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
| $ReadOnlyArray<string>
|
|
27
|
-
| string
|
|
28
|
+
export type CssFunction<TProps = mixed> =
|
|
29
|
+
| CssType<TProps>
|
|
30
|
+
| BasicTemplateInterpolations
|
|
28
31
|
| boolean
|
|
29
32
|
| void;
|
package/src/types.ts
CHANGED
|
@@ -6,22 +6,30 @@ import type * as CSS from 'csstype';
|
|
|
6
6
|
export type BasicTemplateInterpolations = string | number;
|
|
7
7
|
|
|
8
8
|
export interface FunctionInterpolation<TProps> {
|
|
9
|
-
(props: TProps):
|
|
9
|
+
(props: TProps): CssFunction<TProps>;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Possible types for a CSS value
|
|
14
|
+
*/
|
|
15
|
+
export type CssType<TProps> =
|
|
16
|
+
| CSSProps<TProps> // Typed CSS properties
|
|
17
|
+
| CssObject<TProps> // CSS object
|
|
18
|
+
| FunctionInterpolation<TProps> // Props provider usage
|
|
19
|
+
| string; // Plain css string
|
|
20
|
+
|
|
12
21
|
/**
|
|
13
22
|
* These are all the CSS props that will exist.
|
|
14
23
|
*/
|
|
15
|
-
export type CSSProps = CSS.Properties<
|
|
24
|
+
export type CSSProps<TProps> = CSS.Properties<CssFunction<TProps>>;
|
|
16
25
|
|
|
17
|
-
export type
|
|
18
|
-
[key: string]:
|
|
26
|
+
export type CssObject<TProps> = {
|
|
27
|
+
[key: string]: CssFunction<TProps>;
|
|
19
28
|
};
|
|
20
29
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
| undefined;
|
|
30
|
+
// CSS inside of a CSS expression
|
|
31
|
+
export type CssFunction<TProps = unknown> =
|
|
32
|
+
| CssType<TProps>
|
|
33
|
+
| BasicTemplateInterpolations // CSS values in tagged template expression
|
|
34
|
+
| boolean // Something like `false && styles`
|
|
35
|
+
| undefined; // Something like `undefined && styles`
|
package/src/utils/error.js.flow
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns `true` when inside a node environment,
|
|
3
|
-
* else `false`.
|
|
4
|
-
*
|
|
5
|
-
* When using this it will remove any node code from the browser bundle - for example:
|
|
6
|
-
*
|
|
7
|
-
* ```js
|
|
8
|
-
* if (isNodeEnvironment()) {
|
|
9
|
-
* // This code will be removed from the browser bundle
|
|
10
|
-
* }
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export var isNodeEnvironment = function () {
|
|
14
|
-
return typeof window === 'undefined';
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=is-node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-node.js","sourceRoot":"","sources":["../../../src/runtime/is-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACvC,CAAC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isNodeEnvironment = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Returns `true` when inside a node environment,
|
|
6
|
-
* else `false`.
|
|
7
|
-
*
|
|
8
|
-
* When using this it will remove any node code from the browser bundle - for example:
|
|
9
|
-
*
|
|
10
|
-
* ```js
|
|
11
|
-
* if (isNodeEnvironment()) {
|
|
12
|
-
* // This code will be removed from the browser bundle
|
|
13
|
-
* }
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
var isNodeEnvironment = function () {
|
|
17
|
-
return typeof window === 'undefined';
|
|
18
|
-
};
|
|
19
|
-
exports.isNodeEnvironment = isNodeEnvironment;
|
|
20
|
-
//# sourceMappingURL=is-node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-node.js","sourceRoot":"","sources":["../../../src/runtime/is-node.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACI,IAAM,iBAAiB,GAAG;IAC/B,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns `true` when inside a node environment,
|
|
3
|
-
* else `false`.
|
|
4
|
-
*
|
|
5
|
-
* When using this it will remove any node code from the browser bundle - for example:
|
|
6
|
-
*
|
|
7
|
-
* ```js
|
|
8
|
-
* if (isNodeEnvironment()) {
|
|
9
|
-
* // This code will be removed from the browser bundle
|
|
10
|
-
* }
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export var isNodeEnvironment = function () {
|
|
14
|
-
return typeof window === 'undefined';
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=is-node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-node.js","sourceRoot":"","sources":["../../../src/runtime/is-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAC/B,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACvC,CAAC,CAAC"}
|
package/src/runtime/is-node.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns `true` when inside a node environment,
|
|
3
|
-
* else `false`.
|
|
4
|
-
*
|
|
5
|
-
* When using this it will remove any node code from the browser bundle - for example:
|
|
6
|
-
*
|
|
7
|
-
* ```js
|
|
8
|
-
* if (isNodeEnvironment()) {
|
|
9
|
-
* // This code will be removed from the browser bundle
|
|
10
|
-
* }
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
export const isNodeEnvironment = (): boolean => {
|
|
14
|
-
return typeof window === 'undefined';
|
|
15
|
-
};
|