next-yak 0.0.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.
package/README.md ADDED
@@ -0,0 +1,122 @@
1
+ # next-yak
2
+
3
+ yet another CSS-in-JS library
4
+
5
+ a CSS-in-JS with the power of "dynamic at the speed and reliability of static" 🙃
6
+
7
+ the initial version of next-yak will only work for next.js
8
+
9
+ ## Motivation
10
+
11
+ Most of the existing CSS-in-JS libraries are either slow or have a complex api. This project tries to find a middle ground between speed and api complexity.
12
+
13
+ The goal of this project is to create a proof of concept for a CSS-in-JS library that has the following properties:
14
+
15
+ - fast
16
+ - no runtime
17
+ - can be statically extracted
18
+ - can be optimized by postcss
19
+ - no processing during hydration
20
+ - can make use of [103 early hints](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103)
21
+ - api
22
+ - ui colocation (mixing css and jsx)
23
+ - familiar `styled.div` api
24
+ - composable `styled(Component)`
25
+ - allows conditional styles
26
+ - allow to use props in styles
27
+ - allow to use a context based theme in styles
28
+ - typescript support
29
+
30
+ Optimizations are done by postcss. This allows to use the full power of postcss and its plugins. It also allows to use the same optimizations for css files and css-in-js.
31
+
32
+ # Installation
33
+
34
+ ```bash
35
+ npm install next-yak
36
+ ```
37
+
38
+ ```js
39
+ // next.config.js
40
+ const { withYak } = require("next-yak");
41
+
42
+ const nextConfig = {
43
+ // your next.js config
44
+ };
45
+
46
+ module.exports = withYak(nextConfig);
47
+ ```
48
+
49
+ ## Nesting
50
+
51
+ `next-yak` supports nesting out of the box.
52
+ Next.js 13 supports nesting only with the `postcss-nested` plugin.
53
+ Therefore you have to create a `postcss.config.js` file in your project root:
54
+
55
+ ```js
56
+ // postcss.config.js
57
+ module.exports = {
58
+ plugins: {
59
+ 'postcss-nested':{},
60
+ }
61
+ }
62
+ ```
63
+
64
+ ## Example
65
+
66
+ ```tsx
67
+ import { styled, css } from "next-yak";
68
+
69
+ const Title = styled.h1<{ x: number; children: React.ReactNode }>`
70
+ display: block;
71
+ ${({ $x }) => $x % 2 === 0 && css`color: red`}
72
+ position: relative;
73
+ top: ${({ $x }) => `${$x * 100}px`};
74
+ `;
75
+
76
+ const App = () => (
77
+ <Title $x={3}>
78
+ Hello World
79
+ </Title>
80
+ );
81
+ ```
82
+
83
+ ## Performance Gains
84
+
85
+ [![CSS Extract](https://raw.githubusercontent.com/jantimon/yacijs/main/css-extract.gif)](https://raw.githubusercontent.com/jantimon/yacijs/main/css-extract.gif)
86
+
87
+ ## How it works
88
+
89
+ next-yak converts css-in-js into css modules. This allows to use the full power of postcss and its plugins. It also allows to use the same optimizations for css files and css-in-js.
90
+
91
+ [![Compile Flow](https://raw.githubusercontent.com/jantimon/yacijs/main/compile-flow.webp)](https://raw.githubusercontent.com/jantimon/yacijs/main/compile-flow.webp)
92
+
93
+
94
+ ### Atomic CSS
95
+
96
+ next-yak provide class name helpers. This allows using [tailwind](https://tailwindcss.com/) out of the box without additonal configuration.
97
+
98
+ ```tsx
99
+ import { styled, css, atoms } from "next-yak";
100
+
101
+ const SpinningTitle = styled.h1<{ isAnimated: boolean; children: React.ReactNode }>`
102
+ ${atoms("tw-text-lg md:tw-text-xl tw-bg-red-500")}
103
+ ${({ isAnimated }) => isAnimated && css`animation: spin 1s linear infinite`)}
104
+ `;
105
+
106
+ const App = () => (
107
+ <SpinningTitle isAnimated={true}>
108
+ Hello World
109
+ </SpinningTitle>
110
+ );
111
+ ```
112
+
113
+ ## Todos:
114
+
115
+ This is a proof of concept. There are a lot of things that need to be done before this can be used in production:
116
+
117
+ - [ ] improve js parsing - right now it not reusing babel..
118
+ - [ ] config hot module reloading
119
+
120
+ ## Prior art
121
+
122
+ This POC is heavily inspried by [styled-components](https://styled-components.com/), [emotion](https://emotion.sh/docs/introduction) and [linaria](https://github.com/callstack/linaria).
@@ -0,0 +1,11 @@
1
+ type ComponentStyles<TProps extends Record<string, unknown>> = (props: TProps) => {
2
+ className: string;
3
+ style?: {
4
+ [key: string]: string;
5
+ };
6
+ };
7
+ export type CSSInterpolation<TProps extends Record<string, unknown>> = string | number | undefined | null | false | ComponentStyles<TProps> | ((props: TProps) => CSSInterpolation<TProps>);
8
+ type CSSFunction = <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => ComponentStyles<TProps>;
9
+ export declare const css: CSSFunction;
10
+ export {};
11
+ //# sourceMappingURL=cssLiteral.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssLiteral.d.ts","sourceRoot":"","sources":["../runtime/cssLiteral.tsx"],"names":[],"mappings":"AAAA,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAC7D,KAAK,EAAE,MAAM,KACV;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC/D,MAAM,GACN,MAAM,GACN,SAAS,GACT,IAAI,GACJ,KAAK,GACL,eAAe,CAAC,MAAM,CAAC,GACvB,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAMlD,KAAK,WAAW,GAAG,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,MAAM,EAAE,oBAAoB,EAC5B,GAAG,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAClC,eAAe,CAAC,MAAM,CAAC,CAAC;AA0E7B,eAAO,MAAM,GAAG,aAA+C,CAAC"}
@@ -0,0 +1,63 @@
1
+ const internalImplementation = (...args) => {
2
+ const classNames = [];
3
+ const dynamicCssFunctions = [];
4
+ const style = {};
5
+ for (let i = 0; i < args.length; i++) {
6
+ const arg = args[i];
7
+ if (typeof arg === "string") {
8
+ classNames.push(arg);
9
+ }
10
+ else if (typeof arg === "function") {
11
+ dynamicCssFunctions.push(arg);
12
+ }
13
+ else if (typeof arg === "object" && "style" in arg) {
14
+ for (const key in arg.style) {
15
+ const value = arg.style[key];
16
+ if (typeof value === "function") {
17
+ dynamicCssFunctions.push((props) => ({
18
+ style: { [key]: value(props) },
19
+ }));
20
+ }
21
+ else {
22
+ style[key] = value;
23
+ }
24
+ }
25
+ }
26
+ }
27
+ // Non Dynamic CSS
28
+ if (dynamicCssFunctions.length === 0) {
29
+ const className = classNames.join(" ");
30
+ return () => ({ className, style });
31
+ }
32
+ // Dynamic CSS with runtime logic
33
+ const unwrapProps = (props, fn, classNames, style) => {
34
+ const result = fn(props);
35
+ if (typeof result === "function") {
36
+ unwrapProps(props, result, classNames, style);
37
+ }
38
+ else if (typeof result === "object") {
39
+ if ("className" in result && result.className) {
40
+ classNames.push(result.className);
41
+ }
42
+ if ("style" in result && result.style) {
43
+ for (const key in result.style) {
44
+ const value = result.style[key];
45
+ style[key] = value;
46
+ }
47
+ }
48
+ }
49
+ };
50
+ return (props) => {
51
+ const allClassNames = [...classNames];
52
+ const allStyles = { ...style };
53
+ for (let i = 0; i < dynamicCssFunctions.length; i++) {
54
+ unwrapProps(props, dynamicCssFunctions[i], allClassNames, allStyles);
55
+ }
56
+ return {
57
+ className: allClassNames.join(" "),
58
+ style: allStyles,
59
+ };
60
+ };
61
+ };
62
+ export const css = internalImplementation;
63
+ //# sourceMappingURL=cssLiteral.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssLiteral.js","sourceRoot":"","sources":["../runtime/cssLiteral.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ const internalImplementation = (...args) => {
2
+ const classNames = [];
3
+ const dynamicCssFunctions = [];
4
+ const style = {};
5
+ for (let i = 0; i < args.length; i++) {
6
+ const arg = args[i];
7
+ if (typeof arg === "string") {
8
+ classNames.push(arg);
9
+ }
10
+ else if (typeof arg === "function") {
11
+ dynamicCssFunctions.push(arg);
12
+ }
13
+ else if (typeof arg === "object" && "style" in arg) {
14
+ for (const key in arg.style) {
15
+ const value = arg.style[key];
16
+ if (typeof value === "function") {
17
+ dynamicCssFunctions.push((props) => ({
18
+ style: { [key]: value(props) },
19
+ }));
20
+ }
21
+ else {
22
+ style[key] = value;
23
+ }
24
+ }
25
+ }
26
+ }
27
+ // Non Dynamic CSS
28
+ if (dynamicCssFunctions.length === 0) {
29
+ const className = classNames.join(" ");
30
+ return () => ({ className, style });
31
+ }
32
+ // Dynamic CSS with runtime logic
33
+ const unwrapProps = (props, fn, classNames, style) => {
34
+ const result = fn(props);
35
+ if (typeof result === "function") {
36
+ unwrapProps(props, result, classNames, style);
37
+ }
38
+ else if (typeof result === "object") {
39
+ if ("className" in result && result.className) {
40
+ classNames.push(result.className);
41
+ }
42
+ if ("style" in result && result.style) {
43
+ for (const key in result.style) {
44
+ const value = result.style[key];
45
+ style[key] = value;
46
+ }
47
+ }
48
+ }
49
+ };
50
+ return (props) => {
51
+ const allClassNames = [...classNames];
52
+ const allStyles = { ...style };
53
+ for (let i = 0; i < dynamicCssFunctions.length; i++) {
54
+ unwrapProps(props, dynamicCssFunctions[i], allClassNames, allStyles);
55
+ }
56
+ return {
57
+ className: allClassNames.join(" "),
58
+ style: allStyles,
59
+ };
60
+ };
61
+ };
62
+ export const css = internalImplementation;
63
+ //# sourceMappingURL=cssLiteral.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssLiteral.jsx","sourceRoot":"","sources":["../runtime/cssLiteral.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { css } from "./cssLiteral";
2
+ export * from "./styled";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { css } from "./cssLiteral";
2
+ export * from "./styled";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,cAAc,CAAC;AACjC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,183 @@
1
+ import { FunctionComponent } from "react";
2
+ import { CSSInterpolation } from "./cssLiteral";
3
+ import React from "react";
4
+ export declare const styled: ((Component: string | FunctionComponent<any>) => <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element) & {
5
+ a: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
6
+ abbr: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
7
+ address: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
8
+ area: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
9
+ article: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
10
+ aside: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
11
+ audio: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
12
+ b: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
13
+ base: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
14
+ bdi: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
15
+ bdo: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
16
+ big: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
17
+ blockquote: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
18
+ body: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
19
+ br: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
20
+ button: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
21
+ canvas: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
22
+ caption: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
23
+ center: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
24
+ cite: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
25
+ code: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
26
+ col: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
27
+ colgroup: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
28
+ data: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
29
+ datalist: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
30
+ dd: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
31
+ del: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
32
+ details: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
33
+ dfn: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
34
+ dialog: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
35
+ div: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
36
+ dl: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
37
+ dt: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
38
+ em: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
39
+ embed: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
40
+ fieldset: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
41
+ figcaption: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
42
+ figure: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
43
+ footer: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
44
+ form: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
45
+ h1: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
46
+ h2: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
47
+ h3: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
48
+ h4: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
49
+ h5: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
50
+ h6: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
51
+ head: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
52
+ header: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
53
+ hgroup: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
54
+ hr: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
55
+ html: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
56
+ i: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
57
+ iframe: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
58
+ img: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
59
+ input: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
60
+ ins: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
61
+ kbd: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
62
+ keygen: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
63
+ label: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
64
+ legend: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
65
+ li: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
66
+ link: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
67
+ main: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
68
+ map: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
69
+ mark: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
70
+ menu: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
71
+ menuitem: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
72
+ meta: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
73
+ meter: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
74
+ nav: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
75
+ noindex: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
76
+ noscript: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
77
+ object: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
78
+ ol: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
79
+ optgroup: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
80
+ option: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
81
+ output: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
82
+ p: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
83
+ param: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
84
+ picture: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
85
+ pre: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
86
+ progress: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
87
+ q: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
88
+ rp: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
89
+ rt: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
90
+ ruby: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
91
+ s: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
92
+ samp: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
93
+ search: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
94
+ slot: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
95
+ script: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
96
+ section: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
97
+ select: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
98
+ small: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
99
+ source: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
100
+ span: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
101
+ strong: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
102
+ style: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
103
+ sub: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
104
+ summary: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
105
+ sup: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
106
+ table: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
107
+ template: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
108
+ tbody: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
109
+ td: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
110
+ textarea: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
111
+ tfoot: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
112
+ th: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
113
+ thead: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
114
+ time: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
115
+ title: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
116
+ tr: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
117
+ track: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
118
+ u: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
119
+ ul: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
120
+ var: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
121
+ video: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
122
+ wbr: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
123
+ webview: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
124
+ svg: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
125
+ animate: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
126
+ animateMotion: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
127
+ animateTransform: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
128
+ circle: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
129
+ clipPath: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
130
+ defs: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
131
+ desc: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
132
+ ellipse: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
133
+ feBlend: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
134
+ feColorMatrix: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
135
+ feComponentTransfer: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
136
+ feComposite: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
137
+ feConvolveMatrix: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
138
+ feDiffuseLighting: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
139
+ feDisplacementMap: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
140
+ feDistantLight: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
141
+ feDropShadow: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
142
+ feFlood: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
143
+ feFuncA: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
144
+ feFuncB: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
145
+ feFuncG: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
146
+ feFuncR: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
147
+ feGaussianBlur: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
148
+ feImage: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
149
+ feMerge: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
150
+ feMergeNode: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
151
+ feMorphology: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
152
+ feOffset: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
153
+ fePointLight: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
154
+ feSpecularLighting: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
155
+ feSpotLight: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
156
+ feTile: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
157
+ feTurbulence: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
158
+ filter: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
159
+ foreignObject: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
160
+ g: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
161
+ image: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
162
+ line: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
163
+ linearGradient: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
164
+ marker: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
165
+ mask: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
166
+ metadata: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
167
+ mpath: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
168
+ path: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
169
+ pattern: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
170
+ polygon: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
171
+ polyline: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
172
+ radialGradient: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
173
+ rect: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
174
+ stop: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
175
+ switch: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
176
+ symbol: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
177
+ text: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
178
+ textPath: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
179
+ tspan: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
180
+ use: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
181
+ view: <TProps extends Record<string, unknown>>(styles: TemplateStringsArray, ...values: CSSInterpolation<TProps>[]) => (props: TProps) => React.JSX.Element;
182
+ };
183
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../runtime/styled.tsx"],"names":[],"mappings":"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"}
package/dist/styled.js ADDED
@@ -0,0 +1,31 @@
1
+ import { css } from "./cssLiteral";
2
+ import React from "react";
3
+ const StyledFactory = function (Component) {
4
+ return (styles, ...values) => {
5
+ return (props) => {
6
+ const runtimeStyles = css(styles, ...values)(props);
7
+ const filteredProps = typeof Component === "string" ? removePrefixedProperties(props) : props;
8
+ return (React.createElement(Component, { ...filteredProps, style: { ...(props.style || {}), ...runtimeStyles.style }, className: (props.className ? props.className + " " : "") +
9
+ runtimeStyles.className }));
10
+ };
11
+ };
12
+ };
13
+ export const styled = new Proxy(StyledFactory, {
14
+ get(target, TagName) {
15
+ if (typeof TagName !== "string") {
16
+ throw new Error("Only string tags are supported");
17
+ }
18
+ return target(TagName);
19
+ },
20
+ });
21
+ // Remove all entries that start with a $ sign
22
+ function removePrefixedProperties(obj) {
23
+ const result = {};
24
+ for (const key in obj) {
25
+ if (!key.startsWith("$")) {
26
+ result[key] = obj[key];
27
+ }
28
+ }
29
+ return result;
30
+ }
31
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../runtime/styled.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,GAAG,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,aAAa,GAAG,UAAU,SAA0C;IACxE,OAAO,CACL,MAA4B,EAC5B,GAAG,MAAkC,EACrC,EAAE;QACF,OAAO,CAAC,KAAa,EAAE,EAAE;YACvB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,KAAY,CAAC,CAAC;YAC3D,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,OAAO,CACL,oBAAC,SAAS,OACJ,aAAa,EACjB,KAAK,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,EACzD,SAAS,EACP,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,aAAa,CAAC,SAAS,GAEzB,CACH,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;IAC7C,GAAG,CAAC,MAAM,EAAE,OAAO;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACF,CAEA,CAAC;AAEF,8CAA8C;AAC9C,SAAS,wBAAwB,CAAoC,GAAM;IACzE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { css } from "./cssLiteral";
2
+ const StyledFactory = function (Component) {
3
+ return (styles, ...values) => {
4
+ return (props) => {
5
+ const runtimeStyles = css(styles, ...values)(props);
6
+ const filteredProps = typeof Component === "string" ? removePrefixedProperties(props) : props;
7
+ return (<Component {...filteredProps} style={{ ...(props.style || {}), ...runtimeStyles.style }} className={(props.className ? props.className + " " : "") +
8
+ runtimeStyles.className}/>);
9
+ };
10
+ };
11
+ };
12
+ export const styled = new Proxy(StyledFactory, {
13
+ get(target, TagName) {
14
+ if (typeof TagName !== "string") {
15
+ throw new Error("Only string tags are supported");
16
+ }
17
+ return target(TagName);
18
+ },
19
+ });
20
+ // Remove all entries that start with a $ sign
21
+ function removePrefixedProperties(obj) {
22
+ const result = {};
23
+ for (const key in obj) {
24
+ if (!key.startsWith("$")) {
25
+ result[key] = obj[key];
26
+ }
27
+ }
28
+ return result;
29
+ }
30
+ //# sourceMappingURL=styled.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.jsx","sourceRoot":"","sources":["../runtime/styled.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,GAAG,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,aAAa,GAAG,UAAU,SAA0C;IACxE,OAAO,CACL,MAA4B,EAC5B,GAAG,MAAkC,EACrC,EAAE;QACF,OAAO,CAAC,KAAa,EAAE,EAAE;YACvB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,KAAY,CAAC,CAAC;YAC3D,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,OAAO,CACL,CAAC,SAAS,CACR,IAAI,aAAa,CAAC,CAClB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,CAC1D,SAAS,CAAC,CACR,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9C,aAAa,CAAC,SAAS,CACxB,EACD,CACH,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,EAAE;IAC7C,GAAG,CAAC,MAAM,EAAE,OAAO;QACjB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACF,CAEA,CAAC;AAEF,8CAA8C;AAC9C,SAAS,wBAAwB,CAAoC,GAAM;IACzE,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACrB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}